Университет ИТМО Сакт-петербурга (olymp.ifmo.ru) ежегодно проводит перечневую олимпиаду по информатике первого уровня. Задачи олимпиады напоминают задания ЕГЭ. Мы предлагаем Вам попробовать решить на пробном туре вариацию одной задачи с олимпиады СПБГУ ИТМО 2015 года. Пете подарили n гирь и чашечные весы. Каждая гиря весит ai грамм. Первым делом он разложил гири на чаши. При этом одна из чаш может быть пустой. Теперь он хочет выяснить, какой наименьшей разницы весов на чашах можно достичь, не более чем за одно перекладывание гирь. Одно перекладывание происходит следующим образом: Петя выбирает некоторую гирю, лежащую на одной чаше весов и перекладывает ее на другую чашу весов. Обратите внимание, что Петя не обязан сделать это перекладывание.
Формат ввода
В первой строке входного файла weight.in находится одно натуральное число n (1 ≤ n ≤ 50) — количество гирь. В каждой из следующих n строк находятся два натуральных числа ai, bi (1 ≤ ai ≤ 1000, 1 ≤ bi ≤ 2) — масса гири и номер чаши весов, на которой она находится.
Формат вывода
В выходной файл weight.out требуется вывести одно число — наименьшую разницу весов, которую можно достичь, сделав не более одного перекладывания гирь.
Var
f:file of char;
C:char;
k,s:integer;
Begin
Assign(f,'file.txt');
Reset(f);
k:=0;
s:=1;
Write('Найденные числа:');
Repeat
Read(f,C);
if ('0'<=C)and(C<='9') then
Begin
k:=k+1;
Write(' ');
While ('0'<=C)and(C<='9')and Not Eof(f) do
Begin
Write(C);
Read(f,C);
if C=#13 then s:=s+1;
End;
End;
Until Eof(f);
Close(f);
WriteLn;
WriteLn('Их количество: ',k);
WriteLn('Количество строк в файле: ',s);
End.
Результат работы программы:
Найденные числа: 1 2 3 7 8 9 11 12 3 2 1 8 1 2 3 4
Их количество: 16
Количество строк в файле: 5
Чтобы программа работала данный файл должен находиться в одной папке с программой:
#include <iostream>
#include <string>
#include <algorithm>
bool P(int value)
{
std::string left = std::to_string(value);
std::reverse(left.begin(), left.end());
std::string right = std::to_string(value);;
return left == right;
}
int main()
{
int n;
std::cin >> n;
int count = 0;
for (int i = 1; i <= n; ++i)
{
if (P(i))
{
count++;
}
}
std::cout << "Count palindrome: " << count << std::endl;
return 0;
}