A. Радуга, Флаттершай и шахматная раскраска ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Одним вечером Радуга и Флаттершай придумали игру. Так как пони дружат, то и в игре они решили не соревноваться, а вместе двигаться к общей цели.
Игра начинается на квадратном плоском поле, у которого изначально выложены внешние границы. У Радуги и Флаттершай есть квадратные плоские фишки размера 1×1, у Радуги бесконечное число голубых фишек, у Флаттершай бесконечное число желтых фишек.
Фишки выкладываются по следующему правилу: каждая новая выкладываемая фишка должна соприкасаться стороной с уже построенной фигурой (внешняя граница игрового поля считается построенной изначально). На очередном ходу одна пони может выложить любое количество фишек своего цвета в соответствие с правилами игры.
Радуга и Флаттершай догадались, что таким образом можно выкладывать различные узоры на игровом поле. Они решили начать с чего-то простого, поэтому решили выложить фишки так, чтобы они образовали шахматную раскраску. Радуга славится своей скоростью, поэтому ей стало интересно, за какое минимальное количество ходов они с Флаттершай смогут получить шахматную раскраску, закрыв все поле фишками ей найти это количество!
Так как пони могут играть много раз на разных досках, Радуга просит найти минимальное количество ходов для нескольких игровых полей.
Напоминаем, что шахматная раскраска поля в два цвета — та, в которой любая клетка соседствует по стороне только с клетками другого цвета.
Входные данные
Первая строка содержит одно целое число T (1≤T≤100) — количество игровых полей. Каждая из следующих T строк содержит одно целое число n (1≤n≤109) — сторона поля.
Выходные данные
Для каждого игрового поля выведите минимальное количество ходов, чтобы выложить на нем шахматную раскраску из фишек.
#include <iostream>
#include <string>
#include <conio.h>
#define ESC 27
using namespace std;
int main() {
char ch;
int sum = 0;
do {
ch = _getch();
if (ch == ESC) {
cout << "Output of the program:\n" << sum;
putchar('\n');
} else {
cout << ch;
sum += (int)ch;
putchar('\n');
}
} while (ch != ESC);
system("pause");
return 0;
}
Объяснение:
begin
writeln('Дано уравнение вида ax^2+bx+c=0');
Writeln ('Укажи переменную "a"');
readln(a);
Writeln ('Укажи переменную "b"');
readln(b);
Writeln ('Укажи переменную "c"');
readln(c);
if a = 0
then writeln('Не квадратное уравнение!')
else begin
d:= sqr(b)-4*a*c;
if d < 0 then writeln('Нет корней')
else begin
x1:= (-b+sqrt(d))/2*a;
x2:= (-b-sqrt(d))/2*a;
writeln ('X1 =',x1,' X2 =',x2);
end;
end;
end.