Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.02.2020
Сообщений: 67

Списывание

28.04.2020, 17:24. Показов 629. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На контрольной работе N учеников сидят в ряд. Для каждого ученика известно, какую оценку он получил бы, если бы писал эту контрольную самостоятельно (оценка — это число от 2 до 5). Однако ученики могут писать контрольную не только самостоятельно, но и списывать у своего соседа, но только если сосед пишет контрольную самостоятельно. В этом случае списывающий получит такую же оценку, какую получит тот, у кого он списал.

А именно (правила применяются строго в указанном порядке):

Школьники, которые знают материал на 5, будут писать контрольную самостоятельно.
Школьник, который знает материал на 4, если он сидит рядом с тем, кто знает на 5, будет списывать у него, а в противном случае будет писать самостоятельно.
Школьник, который знает на 3, если он сидит рядом с тем, кто знает на 5, будет списывать у него. Если среди его соседей знающего на 5 нет, но есть тот, кто знает на 4, и при этом пишет самостоятельно, то троечник будет списывать у него. В противном случае будет писать самостоятельно.
Аналогично школьник, знающий на 2 — из соседей, которые пишут самостоятельно, выберет того, кто знает лучше, и спишет у него. А если таких нет (или оба его соседа также знают на 2), то будет писать самостоятельно.
Определите, кто какую оценку в итоге получит.

Входные данные
Вводится число N (1<=N<=10) - количество учеников, и далее последовательность из N чисел, описывающая, кто на какую оценку может написать контрольную, если будет писать самостоятельно.

Выходные данные
Выведите N чисел - оценки, которые получат ученики за контрольную.

Примечания к примерам тестов
1. Первый и пятый ученики будут писать самостоятельно. Второй спишет у первого, а четвертый — у пятого (в итоге также получат пятерки). Третьему не у кого списывать, так как его соседи будут писать работу не самостоятельно.

2. Второй и четвертый спишут у третьего, пятый — у шестого.

Примеры
входные данные
5
5
2
3
4
5
выходные данные
5
5
3
5
5
входные данные
6
2
2
3
2
2
4
выходные данные
2
3
3
3
4
4
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2020, 17:24
Ответы с готовыми решениями:

Списывание товаров по наличию
Добрый день! :) Такой вопрос - у меня есть простая ОбработкаПроведения, самописная. Как организовать работу так, чтобы, допустим, у...

Списывание или самостоятельное выполнение
Многие приходя на форум, чтобы за них сделали задание в школе или университете. Мне кажется, что если человек учится на специалиста в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
19 / 15 / 7
Регистрация: 08.06.2018
Сообщений: 65
28.04.2020, 17:31
Создается ощущение, что ты сюда либо за 3 семестра задания постишь, либо зарабатываешь, "решая" своим одногруппникам задачки.
P.S. где в редакторе пометить, что сообщение не по теме?
0
28.04.2020, 20:50

Не по теме:

Цитата Сообщение от helltrial Посмотреть сообщение
P.S. где в редакторе пометить, что сообщение не по теме?
кнопка OFF

0
 Аватар для Anonymous4722
5 / 3 / 2
Регистрация: 29.11.2012
Сообщений: 545
28.04.2020, 21:03
Цитата Сообщение от helltrial Посмотреть сообщение
Создается ощущение, что ты сюда либо за 3 семестра задания постишь, либо зарабатываешь, "решая" своим одногруппникам задачки.
Пусть сам ищет ответы и решает.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
28.04.2020, 21:16
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int n = int.Parse(Console.ReadLine());
var a = new int[n];
var b = new int[n];
for (int i = 0; i < n; i++)
{
    a[i] = int.Parse(Console.ReadLine());
}
 
for (int j = 5; j > 2; j--)
{
    for (int i = 0; i < n; i++)
    {
        if (i < n - 1)
        {
            if (a[i] < j && a[i + 1] == j && b[i + 1] == 0)
            {
                a[i] = j;
                b[i] = 1;
            }
        }
        if (i > 0)
        {
            if (a[i] < j && a[i - 1] == j && b[i - 1] == 0)
            {
                a[i] = j;
                b[i] = 1;
            }
        }
    }
}
 
Console.WriteLine();
Console.WriteLine(string.Join('\n', a));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru