Олимпиады по информатике в Москве

на сайте www.olympiads.ru

Новости Этапы всероссийской олимпиады Открытая олимпиада по программированию Московская олимпиада по информатике Кружки и сборы Командная олимпиада Странички других лет www.olympiads.ru
Муниципальный этап
Программное обеспечение для проведения
Школьный этап
О проведении школьного этапа
Тренировочные туры
Примеры программ

Всероссийская олимпиада школьников по информатике в г.Москве, 2022/23 учебный год

Особенности формата ввода-вывода

При реализации программ необходимо обратить внимание на следующее.

Во входных данных все числа вводятся ровно так, как в примерах (как правило, каждое число вводится в отдельной строке).

Программа не должна выводить никаких сообщений, кроме того, что требуется вывести в условии задачи (как правило, это одно или несколько целых чисел), в том числе нельзя выводить сообщения вида “Введите число”.

Целые числа во входных и выходных данных записываются только цифрами, то есть недопустимо использование записи 1000000.0 или 1e6 вместо числа 1000000.

Особенности отдельных языков программирования

Visual C++ — в тестирующей системе этот компилятор отсутствует, вместо него следует использовать GNU C++. В программах на Visual C++ не должны использоваться предварительно откомпилированные заголовочные файлы (директива препроцессора #include "stdafx.h"), не должно быть вызова system("pause"), иных нестандартных особенностей компилятора Visual C++. Программа должна быть написана в соответствии со стандартом языка C++.

Примеры программ

Ниже приведены примеры программы, вычисляющей сумму двух целых чисел, считываемых со стандартного ввода и выводящей результат на стандартный вывод, с использованием 64-битных целых чисел. Входные числа записаны в двух разных строках.


Python версии 3

a = int(input())
b = int(input())
print(a + b)

Pascal

var a, b: int64;
begin
    read(a);
    read(b);
    writeln(a + b);
end.

C++

#include <iostream>

using namespace std;

int main()
{
  long long a, b;
  cin >> a >> b;
  cout << a + b << "\n";
  return 0;
}

C#

using System;
using System.IO;
class MainClass
{
  static void Main()
  {
    long a = long.Parse(Console.ReadLine());;
    long b = long.Parse(Console.ReadLine());
    Console.WriteLine("{0}", a + b);
  }
}

Java

В программах на Java не должно быть строки package.

import java.util.Scanner;

public class Main
{
  public static void main(String args[]) throws Exception
  {
    Scanner in = new Scanner(System.in);
    long a, b;
    a = in.nextLong();
    b = in.nextLong();
    System.out.println(a + b);
  }
}

PHP

<?php
$A = fgets(STDIN);
$B = fgets(STDIN);
print $A + $B;
?>

Rust

use std::io;
fn main() {
    let mut a = String::new();
    io::stdin().read_line(&mut a).expect("");
    let a: i64 = a.trim().parse().expect("");
    let mut b = String::new();
    io::stdin().read_line(&mut b).expect("");
    let b: i64 = b.trim().parse().expect("");
    println!("{:?}", a + b);
}

Go

package main
import "fmt"

func main(){
    var a, b int64
    fmt.Scan(&a)
    fmt.Scan(&b)
    fmt.Printf("%d\n", a + b)
}

Kotlin

import java.util.*
 
fun main(args: Array<String>) {
    val sc = Scanner(System.`in`);
    var a: Long = sc.next().toLong();
    var b: Long = sc.next().toLong();
    println(a + b);
}

Кумир (используются 32-битные числа)

алг Задача1
нач
  цел A, B
  ввод A
  ввод B
  вывод A + B
кон