Контестер - ресурс, позволяющий осуществлять автоматическую проверку решений задач на заложенных в него наборах тестовых входных данных. Для того чтобы программа была корректно воспринята и обработана контестером, необходимо:

  • Чтение входных данных производить из файла input.txt
  • Вывод выходных данных - в файл output.txt
  • Не указывать полный путь до файлов (предполагается, что они лежат в одной папке с файлом-решением)
  • Строго соблюдать формат входных и выходных данных (выводить всё, что требуется, не выводить лишнего, учитывать порядок и расположение входных и выходных данных)

Отправка задачи на проверку и получение результата:

  1. Выбираем пункт меню "Отправить" в левой части страницы либо нажимаем кнопку "Отправить" справа от названия задачи.
  2. Выбираем из списка название задачи, язык программирования и файл с кодом решения (обратите внимание на расширение файла) или вставляем текст решения. Нажимаем "Отправить".
  3. Выбираем "Статус". Возможные статусы решения:
    • В очереди... - задача ждет своей очереди на проверку.
    • Компиляция успешна - файл решения успешно скомпилирован, идет процесс тестирования.
    • Тестов пройдено 0 из 1 (Ошибка при компиляции) - произошла ошибка при компиляции решения на сервере (возможные причины: неправильно выбран компилятор, неправильно выбран файл с решением, решение не было сохранено перед отправкой).
    • Тестов пройдено X из N - задача прошла некоторое количество тестов, результаты по каждому тесту возможны следующие:
      • Тест принят (OK)
      • Неверный ответ (WA) - формат и тип выходных данных соответствуют ожидаемым, однако значение отличается.
      • Ошибка представления (PE) - формат и\или тип выходных данных не соответствует ожидаемому (например, выведена строка вместо числа или несколько чисел вместо одного).
      • Превышен лимит времени (TL) - программа не уложилась в отведенный ей лимит времени (например, произошло зацикливание или программа ожидает ввода с клавиатуры или использованный алгоритм решения крайне неэффективен).
      • Ошибка исполнения (RE) - выполнение программы прервалось ошибкой "runtime error" (например, произошло деление на ноль или выход за границы массива).
      • Превышен лимит памяти (ML) - программа не уложилась в отведенный ей объём памяти.


Примеры решений задачи A + B

Borland C++ 3.1

#include <stdio.h>
int main(){
  freopen("input.txt", "rt", stdin);
  freopen("output.txt", "wt", stdout);
  int a, b;
  scanf("%d%d", &a, &b);
  printf("%d", a + b);
  return 0;
}

Borland Pascal 7.0

var a, b: integer;
begin
  assign(input,'input.txt');
  assign(output,'output.txt');
  reset(input);
  rewrite(output);
  read(a, b);
  writeln(a + b);
end.

Visual Studio C++ 8.0

#include <iostream>
using namespace std;
int main()
{
    freopen("input.txt", "rt", stdin);
    freopen("output.txt", "wt", stdout);
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

Borland Delphi 7.0

{$APPTYPE CONSOLE}
var a, b: integer;
begin
  reset(input, 'input.txt');
  rewrite(output, 'output.txt');
  read(a, b);
  write(a + b);
end.

Java 1.6

import java.util.*;
import java.io.*;
public class Solution {
    public static void main(String[] args) throws Exception {
        Solution solution = new Solution();
        solution.run();
    }
    private void run() throws Exception {
        Scanner scan = new Scanner(new File("input.txt"));
        PrintWriter writer = new PrintWriter("output.txt");       
        int a = scan.nextInt();
        int b = scan.nextInt();       
        writer.print(a + b);
        writer.close();
    }
}

Visual Studio C# 8.0

using System;
using System.IO;
namespace ab
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamReader inFile = new StreamReader("input.txt");
            StreamWriter outFile = new StreamWriter("output.txt");
            string line = inFile.ReadLine();
            string[] mas = line.Split(' ');
            int a = int.Parse(mas[0]);
            int b = int.Parse(mas[1]);
            outFile.Write(a + b);
            inFile.Close();
            outFile.Close();
        }
    }
}

Последнее изменение: Thursday, 30 June 2016, 19:40