Инструкция по работе с ПО проведения олимпиады
Все взаимодействия участников олимпиады с программным обеспечением (ПО) проведения соревнований и жюри осуществляются через браузер. Для начала работы с ПО нужно ввести в панели адреса https://ipc.susu.ru/ и нажать Enter. На главной странице сайта в левой колонке найти панель авторизации:
Далее, в поля
панели авторизации нужно ввести логин и пароль, полученный от региональной
методической комиссии. После авторизации необходимо выбрать в левой колонке подраздел "Рабочее место участника". В правой колонке появится основное меню ПО:
На вкладке «Изменить данные» необходимо проверить правильность написания своего ФИО и остальные данные. При вводе информации о районе и школе рекомендуется использовать автозаполнение.
После начала основного тура на первой вкладке нужно ввести идентификатор рабочего места (это набор из 8 прописных латинских букв во 2-й строке на выданном листке) и войти в соревнование, щелкнув по соответствующей строке списка доступных соревнований.
На странице «Задачи» можно прочитать условия задач и скопировать тесты для предварительной проверки решений.
Страница «Послать решение» позволяет отправить готовое решение на проверку. При отправке решения необходимо выбрать задачу, язык программирования и файл с исходным текстом программы. Размер файла с исходным текстом не должен превышать 32 килобайта.
Результаты проверки можно увидеть через некоторое время на странице «Результаты проверки».
Возможны следующие результаты:
Обозначение | Сообщение | Возможная причина и действия |
AC All Correct | Принята | Программа успешна прошла все тесты из полного комплекта, переходите к следующей задаче. |
CE | Ошибка компиляции | Синтаксическая ошибка в программе, возможно вы неверно указали язык программирования при отправке решения или используете конструкции языка, не соответствующие стандарту. Для просмотра листинга ошибок компиляции нужно щелкнуть по сообщению. |
NO | Посмотреть сообщение | Программа не прошла тест из условия задачи. Для просмотра более полной информации нужно щелкнуть по сообщению. Смысл возможных сообщений рассмотрен ниже. |
00-99 | Посмотреть сообщение | Программа не прошла некоторые тесты из полного набора. Для просмотра более полной информации нужно щелкнуть по сообщению. Смысл возможных сообщений рассмотрен ниже. |
| Тест #: неверный ответ | Неверный алгоритм решения. Протестируйте программу и найдите ошибку. |
| Тест #: превышение предела времени | Неэффективное решение, ошибка в в условии выхода из цикла или ожидание нажатия клавиши в конце программы. Проверьте программу на больших тестах. |
| Тест #: превышение предела памяти | Программа использует слишком много памяти. Используйте более эффективные способы для хранения информации. |
| Тест #: ошибка времени исполнения | 1) Ошибка типа выхода за границу массива, деления на 0 или логарифма от отрицательного числа; 2) Завершение программы с ненулевым кодом с помощью функций exit(1) или halt(1); 3) превышение предела памяти |
| Тест #: ошибка представления | Формат выходного файла не соответствует требованиям в условии задачи. |
В колонке «исходный текст» можно просмотреть исходный текст посланного решения.
Через страницу «Вопросы и ответы» можно задать вопрос жюри, просмотреть ответ и данные жюри возможные пояснения к условиям задач или объявления. Вопросы должны составляться в форме, предполагающей ответ «ДА» или «НЕТ».
На странице "Помощь" можно найти информацию по интерпретации сообщений, ключи компиляторов, используемые при компиляции программ участников. Далее указаны примеры программ, работающих с файлами input.txt и output.txt.
Pascal, Delphi:
var a,b:integer;
begin
assign(input,'input.txt');
reset(input);
assign(output,'output.txt');
rewrite(output);
read(a,b);
writeln(a+b);
close(input);
close(output);
end.
Та же программа, но ввод и вывод производится с клавиатуры и на экран:
var a,b:integer;
begin
read(a,b); { Никаких подсказок на ввод! }
writeln(a+b); { Только число, как указано в условии }
end.
Basic:
open "input.txt" for input as #1
open "output.txt" for output as #2
input #1, a
input #1, b
print #2, a+b
close #1
close #2
end
C:
#include <stdio.h>
int main()
{ int a,b;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0; /* вернуть 0! */
}
C++:
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{ int a,b;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin>>a>>b;
cout<<(a+b)<<"\n";
return 0;
}