Инструкция по работе с ПО проведения олимпиады
Все взаимодействия участников олимпиады с программным обеспечением проведения соревнований и жюри осуществляются через браузер. После запуска браузера на сайте ipc.susu.ru нужно найти панель авторизации:
Здесь необходимо ввести логин и пароль, выданные жюри. После авторизации нужно выбрать Рабочее место участника и появится основное меню ПО.
После начала основного тура нужно ввести идентификатор рабочего места (выдается для каждого тура) и выбрать тур соревнования, щелкнув по соответствующей строке списка доступных соревнований.
На странице «Задачи» можно скопировать тесты для предварительной проверки решений.
Через страницу «Вопросы и ответы» можно задать вопрос жюри, просмотреть ответ и данные жюри возможные пояснения к условиям задач или объявления. Вопросы должны составляться в форме, предполагающей ответ «ДА» или «НЕТ».
Страница «Послать решение» позволяет отправить готовое решение на проверку. При отправке решения необходимо выбрать задачу, язык программирования и файл с исходным текстом программы. Размер файла с исходным текстом не должен превышать 256 килобайт.
Результаты проверки можно увидеть через некоторое время на странице «Результаты проверки».
Возможны следующие результаты:
Обозначение | Сообщение | Возможная причина и действия |
AC All Correct | Принята | Программа успешна прошла все тесты из полного комплекта, переходите к следующей задаче. |
CE | Ошибка компиляции | Синтаксическая ошибка в программе, возможно вы неверно указали язык программирования при отправке решения или используете конструкции языка, не соответствующие стандарту. Для просмотра листинга ошибок компиляции нужно щелкнуть по сообщению. |
NO | Посмотреть сообщение | Программа не прошла тест из условия задачи. Для просмотра более полной информации нужно щелкнуть по сообщению. Смысл возможных сообщений рассмотрен ниже. |
00-99 | Посмотреть сообщение | Программа не прошла некоторые тесты из полного набора. Для просмотра более полной информации нужно щелкнуть по сообщению. Смысл возможных сообщений рассмотрен ниже. |
| Тест #: неверный ответ | Неверный алгоритм решения. Протестируйте программу и найдите ошибку. |
| Тест #: превышение предела времени | Неэффективное решение, ошибка в в условии выхода из цикла или ожидание нажатия клавиши в конце программы. Проверьте программу на больших тестах. |
| Тест #: превышение предела памяти | Программа использует слишком много памяти. Используйте более эффективные способы для хранения информации. |
| Тест #: ошибка времени исполнения | 1) Ошибка типа выхода за границу массива, деления на 0 или логарифма от отрицательного числа; 2) Завершение программы с ненулевым кодом с помощью функций exit(1) или halt(1); 3) превышение предела памяти |
| Тест #: ошибка представления | Формат выходного файла не соответствует требованиям в условии задачи. |
В колонке «исходный текст» можно просмотреть исходный текст посланного решения (только во время процедуры показа работ).
На странице "Помощь" можно найти информацию по интерпретации сообщений и ключи компиляторов, используемые при компиляции программ участников.
Язык программирования | Командная строка для компиляции |
Visual C# | csc program.cs |
Visual C++ | cl /O2 /EHs /TP program.cpp |
Visual C | cl /O2 /EHs /TP program.c |
Visual Basic | vbc program.vb |
Free Basic | fbc -lang qb program.bas |
Free Pascal | fpc -Sd -Cr -Ct -Ci -XS -O2 -vw program.pas |
PascalABC.NET | pabcnetcclear.exe program.pas |
GNU C++ | g++ -Wl,--stack,67108864 -std=gnu++17 -O2 -static -s -o program program.cpp |
GNU C | gcc -Wl,--stack,67108864 -std=gnu17 -O2 -static -s -o program program.c |
Java | javac program.java |
Python | python -I -m py_compile program.py |
Примеры программ:
Программа на C
#include <stdio.h>
int main()
{ int a,b;
scanf("%d%d",&a,&b); /* Никаких подсказок на ввод! */
printf("%d\n",a+b); /* Только число, как указано в условии */
return 0; /* Обязательно вернуть 0! */
}
Программа на C++
#include <iostream>
using namespace std;
int main()
{ int a,b;
cin>>a>>b;
cout<<(a+b)<<"\n";
return 0;
}
Программа на Pascal
var a,b:integer;
begin
read(a,b); { Никаких подсказок на ввод! }
writeln(a+b); { Только число, как указано в условии }
end.
Программа на Java
import java.util.*;
class program {
public static Scanner in = new Scanner(System.in);
static public void main(String []args){
int a,b;
a = in.nextInt();
b = in.nextInt();
System.out.println(a+b);
}
}
Программа на Python
(a,b)=map(int,input().split())
print(a+b)
Программа на C#
using System;
using System.Text;
namespace MyApplication
{
class Program
{
static void Main()
{ int[] nums = Array.ConvertAll(Console.ReadLine().Split(' '),s=>Convert.ToInt32(s));
Console.WriteLine((nums[0]+nums[1]).ToString());
}
}
}
Программа на Basic
dim a as long, b as long
input a
input b
print a+b
end
Программа на Visual Basic
Module MyProgram
Sub Main()
Dim A as Integer, B as Integer
Dim Items() as String = Split(Console.ReadLine())
A=Val(Items(0))
B=Val(Items(1))
Console.WriteLine(Str(A+B))
End Sub
End Module