A+B | это... Что такое A+B? (original) (raw)
A+B — в спортивном программировании классическая пробная задача, использующаяся для ознакомления участников с тестирующей системой.[1]
На соревнованиях по программированию организаторы, как правило, вообще не смотрят в исходный код программы — специальная тестирующая система компилирует решение и запускает его на заранее подготовленном наборе тестов. Если решение даёт успешные результаты на входных данных всех тестов, задача считается решённой участником. При этом участник должен жёстко соблюдать правила олимпиады — вводить и выводить информацию в нужном формате, и не подключать к программе запрещённые модули (например, [conio.h](603442)
).
Длительность олимпиады, как правило, сильно ограничена, и непосредственно после её начала у участников уже нет времени для проверки возможностей тестирующей системы. К началу соревнований участникам необходимо уже уметь легко управляться с тестирующей системой и её интерфейсом. Чтобы ознакомиться с системой, перед основным туром олимпиады обычно проводят пробный тур, на котором участникам предлагают лёгкую задачу, алгоритм решения которой тривиален. Задачей пробного тура чаще всего и бывает задача «A+B».
Разумеется, на пробном туре может быть и любая другая несложная задача. Иногда делают несколько задач, чтобы участники могли попробовать ввод различных типов данных. Например, в одной задаче, как и в «A+B», нужно вводить числа, а в другой — строки. Сложность задач пробного тура также может варьироваться от таких простых, как «A+B», до более сложных, хотя слишком сложные задачи на пробном туре по понятным причинам давать не принято.
«A+B» — одна из немногих задач олимпиадного программирования, традиционно не имеющая сюжета.
Содержание
- 1 Условие задачи
- 2 Решение задачи
- 3 Решения на различных языках программирования
- 4 Задачи A+B на различных сайтах
- 5 Примечания
Условие задачи
Даны 2 целых числа: A и B. Требуется вычислить их сумму.
Входные данные
Во входном потоке в единственной строке через пробел записаны два целых числа: A и B.
Выходные данные
В выходной поток следует записать единственное целое число — сумму чисел A и B.
Пример
Исходные данные | Результат |
---|---|
2 2 | 4 |
3 2 | 5 |
Решение задачи
Алгоритм решения
Алгоритм решения задачи «A+B» представляет собой простую последовательность действий, реализующуюся непосредственно за счёт возможностей ввода-вывода того или иного языка программирования. Можно оформить алгоритм следующим образом:
- Считать A
- Считать B
- Сложить A и B
- Вывести полученную сумму
Легко видеть, что сложность алгоритма T(A, B) ~ O(1). На любых данных рабочая логика программы выполняется за небольшое конечное число тактов процессора.
Решения на различных языках программирования
На C
#include <stdio.h>
int main() { int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
return 0;
}
На Pascal
program aplusb; var a, b : Integer; begin Read(a, b); WriteLn(a + b) end.
На С++
#include
int main() { int a, b; std::cin >> a >> b; std::cout << a + b << std::endl; }
На Python 3
a, b = map(int, input().split()) print(a + b)
На Perl
($a, $b) = split /\s/, <>; print ($a + $b) . "\n";
На Common Lisp
(let ((a (read))
(b (read))
(format t "a%" (+ a b)))
На Ruby
a, b = gets.split.map! {|t| t.to_i} puts (a + b).to_s
На Haskell
main = getContents >>= return . show . (sum :: [Int] -> Int) . map read .words >>= putStrLn
Задачи A+B на различных сайтах
- A+B Problem на Тимусе
- A+B на сервере Саратовского государственного университета
- A+B на сервере Самарского государственного университета
- A+B в Школе программиста
- Сумма двух целых чисел на сервере Физтеха
Примечания
- ↑ Введение в олимпиадное программирование в Школе программиста
п • Двумерная графика | Трёхмерная графика | MP3 аудио | Программирование | Сжатие данных | Текстовые элементы | Борьба с вирусами | Домен | Оптимизация |
---|---|---|---|---|---|---|---|---|
Лена | Cornell Box • Stanford BunnyStanford Dragon • Чайник Юта | «Мама MP3» | Hello, world! • A+B | Calgary Corpus• Canterbury Corpus | "Рыба" (Lorem ipsum • Панграммы) | EICAR | example | Локальные методы (Функция Розенброка) |