Добавлен: 17.03.2024
Просмотров: 601
Скачиваний: 2
СОДЕРЖАНИЕ
учителя информатики КГУ «Гимназия №9» г.Караганды
Задача 1 (№ 1) A+B (Сложность: 1%)
Задача 3 (№ 903) Бисер (Сложность: 2%)
Задача 4 (№ 942) Олимпиада (Сложность: 2%)
Задача 5 (№ 195). Эния (Сложность: 3%)
Задача 7 (№ 33) Два бандита ( Сложность: 4%)
Задача 10 (№ 819) Прямоугольный параллелепипед
x=(h*(l+w)*2)/16; нужно учесть, что банка может быть неполной
Задача 14 (№ 780) Футбол (Сложность: 22%)
Выходные данные. В выходной файл OUTPUT.TXT выведите одно число – общее количество забитых мячей.
Задача 15 (№ 900) Три грибника (Сложность: 23%)
Задача 16 (№ 25) Больше-меньше (Сложность: 3%)
Задача 19 (№ 8)Арифметика (Сложность: 5%)
Задача 21 (№ 755) Сбор земляники (Сложность: 6%)
Задача 33 (№ 948) Сроки в книге (Сложность: 13%)
Задача 37 (№ 929) Игральные кубики (Сложность: 15%)
Задача 38 (№ 263) Метро (Сложность: 16%)
Задача 39 (№ 844) Поля (Сложность: 16%)
Задача 40 (№ 294) Болты и гайки (Сложность: 17%)
Выходные данные. В выходной файл выведите одно целое число – размер ущерба.
Задача 41 (№ 606)Треугольник – 3 (Сложность: 17%)
Задача 42 (№ 952) В автобусе (Сложность: 18%)
Задача 43 (№ 952) Кастинг (Сложность: 19%)
1, если в данном тесте требуется определить минимальное количество актеров;
Задача 45 (№ 68) Дом - Школа – Дом (Сложность: 21%)
Задача 49 (№ 692) Бинарные числа (Сложность: 8%)
Задача № 52 (№ 233). Автобусная экскурсия (Сложность: 14%)
Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.
Задача 55 (№ 264) Оттепель(Сложность: 17%)
Задача 56 (№ 949) Фибоначчиева последовательность. (Сл.17%)
Задача 57 (№ 778) Офис (Сложность: 18%)
Задача 60 (№ 947) Карточки – 3 (Сложность: 22%)
Задача 62 (№ 716) Треугольник Максима (Сложность: 25%)
Задача 63 (№ 272) Сумма max и мin (Сложность: 26%)
Задача 66 (№ 149). Разворот (Сложность: 9%)
Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.
Задача 69 (№ 637) NEERC (Сложность: 17%)
Задача 70 (№ 293) Налоги (Сложность: 20%)
Задача 74 (№ 324) Четырехзначный палиндром ( Сл.: 10%)
Задача 80 (№ 43) Нули (Сложность: 16%)
Задача 81 (№ 297) Кругляши (Сложность: 16%)
Задача 83 (№ 895) Крестики-нолики (Сложность: 19%)
Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.
Задача 87 (№ 633) ACM World Finals (Сложность: 20%)
Задача 89 (№ 315) Наименьшая система счисления (Сл.: 26%)
Задача 33 (№ 948) Сроки в книге (Сложность: 13%)
№ | INPUT.TXT | OUTPUT.TXT |
1 | 50 1 | 1 1 |
2 | 20 25 | 2 5 |
3 | 15 43 | 3 13 |
4 | 15 30 | 2 15 |
Входные данные. Входной файл INPUT.TXT содержит число K – количество строк, которое печатается на странице, и число N – номер строки (1 ≤ K ≤ 200, 1 ≤ N ≤ 20000).
Выходные данные. В выходной файл OUTPUT.TXT выведите два числа – номер страницы, на которой будет напечатана эта строка и номер строки на странице.
#include #include using namespace std; int main(){ int k, n,y,x; cin>>k>>n; x=n/k; y=n%k; if (y>0) x++; if (y==0) y=k; cout< return 0; } | Вычисляем количество полных страниц. Вычисляем номер строки. Добавляем неполную страницу (примеры 2,3). Учитываем вариант полностью заполненной страницы: (пример 4) – номер строки не нулевой, а равный количеству строк на странице |
Задача 34 (№ 550) День программиста (Сложность: 13%)
День программиста отмечается в 255-й день года (при этом 1 января считается нулевым днем). Требуется написать программу, которая определит дату (месяц и число григорианского календаря), на которую приходится День программиста в заданном году.
В григорианском календаре високосным является:
-
год, номер которого делится нацело на 400 -
год, номер которого делится на 4, но не делится на 100
Входные данные. В единственной строке входного файла INPUT.TXT записано целое число от 1 до 9999 включительно, которое обозначает номер года нашей эры.
№ | INPUT.TXT | OUTPUT.TXT |
1 | 2000 | 12/09/2000 |
2 | 2009 | 13/09/2009 |
В единственную строку выходного файла OUTPUT.TXT нужно вывести дату Дня программиста в формате DD/MM/YYYY, где DD — число, MM — номер месяца (01 — январь, 02 — февраль, ..., 12 — декабрь), YYYY — год в десятичной записи.
#include #include using namespace std; int main(){ int a; cin>>a; if((a%400==0)||(a%4==0&a%100!=0)){cout<<"12/09/";} else {cout<<"13/09/";} if (a<10)cout<<"000"< if(a>=10&a<100)cout<<"00"< if(a>=100&a<1000)cout<<"0"< if(a>=1000)cout< return 0; } | Если год високосный, то выводим 12/09 иначе 13/09. Год должен содержать 4 цифры, поэтому добавляем нули. |
Задача 35 (№ 794) Ролевая игра (Сложность: 15%)
Вася готовит инвентарь для ролевой игры. В игре должны принять участие n игроков, каждый из которых будет изображать персонажа фантастического мира, обладающего некоторым уровнем x, который представляет собой целое число от 1 до m. Для обозначения уровня планируется использовать специальные значки двух цветов. Белый значок обозначает один уровень, а красный значок – k уровней. Игрок, изображающий персонажа с уровнем x, должен иметь a белых значков и b красных значков, чтобы сумма (a + b*k) была равна x. При этом персонажу не разрешается иметь более чем (k – 1) белых значков.
Значки для игры готовятся заранее, однако уровни персонажей заранее неизвестны. Возникает вопрос: какое минимальное суммарное количество значков необходимо подготовить для успешного проведения игры при любых уровнях участвующих персонажей. Требуется написать программу, которая по заданным числам n, m и k вычисляет минимальное количество значков, которое необходимо подготовить для успешного проведения игры.
№ | INPUT.TXT | OUTPUT.TXT |
1 | 3 4 2 | 9 |
Входной файл INPUT.TXT содержит расположенные в одной строке три целых числа: n, m и k (1 ≤ n ≤ 104, 1 ≤ m ≤ 105, 1 ≤ k ≤ 105).
Выходные данные. В выходной файл OUTPUT.TXT выведите одно целое число — минимальное количество значков, которое требуется подготовить.
#include using namespace std; int main() { long n,m,k; cin >> n>>m>>k; if (m>k) cout <<(m/k+k-1)*n ; else сout< return 0; } | 1 уровень – белый значок 2 уровень – красный значок 3 уровень – белый + красный 4 уровень – два красных. Т.к. уровень заранее не известен, то нужно 3 значка (Б, К, К) чтобы гарантированно представить любой уровень. Исключение m |
Задача 36 (№ 850) Цапли (Сложность: 15%)
Петя и Маша пришли в зоопарк. Больше всего Пете понравились цапли. Он был поражен их способностью спать на одной ноге. В вольере находятся несколько цапель. Некоторые из них стоят на двух ногах, некоторые — на одной. Когда цапля стоит на одной ноге, то другую ее ногу не видно. Петя пересчитал видимые ноги всех цапель, и у него получилось число a. Через несколько минут к вольеру подошла Маша. За это время некоторые цапли могли поменять позу, поэтому Петя предложил ей заново пересчитать видимые ноги цапель. Когда Маша это сделала, у нее получилось число b. Выйдя из зоопарка, Петя с Машей заинтересовались, сколько же всего цапель было в вольере. Вскоре ребята поняли, что однозначно определить это число можно не всегда. Теперь они хотят понять, какое минимальное и какое максимальное количество цапель могло быть в вольере.
Требуется написать программу, которая по заданным числам a и b выведет минимальное и максимальное количество цапель, которое могло быть в вольере.
№ | INPUT.TXT | OUTPUT.TXT |
1 | 3 4 | 2 3 |
Входной файл INPUT.TXT содержит два целых числа a и b, разделенных ровно одним пробелом (1 ≤ a ≤ 109, 1 ≤ b ≤ 109).
Выходные данные
В выходной файл OUTPUT.TXT выведите два целых числа, разделенных пробелом — минимальное и максимальное число цапель, которое могло быть в вольере. Гарантируется, что хотя бы одно количество цапель соответствует условию задачи.
#include using namespace std; int main() { unsigned long long a,b,max,min; cin>>a>>b; if(a>=b){max=a; min=b;} else {max=b; min=a;} if(max%2==0) max=max/2; else max=(max/2)+1; cout< return 0; } | Находим мах и min Если все цапли стоят на 1 ноге, то их количество= min. Если цапли стоят на 2-х или одной ноге, то их количество max/2. В случае не целого ответа (1.5 цапли) прибавляем 1. |
Задача 37 (№ 929) Игральные кубики (Сложность: 15%)
Юный математик Матвей интересуется теорией вероятностей, и по этой причине у него всегда есть с собой несколько стандартных шестигранных игральных кубиков. Стандартный шестигранный кубик имеет три противолежащих пары граней, которые размечены таким образом, что напротив грани с числом 1 находится грань с числом 6, напротив грани с числом 2 — грань с числом 5 и напротив грани с числом 3 — грань с числом 4.
Анализируя различные игры с шестигранными кубиками, Матвей придумал новую игру. В эту игру играют два игрока, и проходит она следующим образом: первый игрок бросает один или несколько стандартных кубиков (количество кубиков он определяет сам). После этого первому игроку начисляется количество очков, равное сумме чисел, оказавшихся на верхних гранях всех кубиков, а второму игроку — сумма чисел, оказавшихся на нижних гранях этих кубиков. Побеждает тот, кто набрал больше очков.
Например, если был брошен один кубик, и на верхней его грани выпало число два, то первый игрок получает два очка, а второй — пять. В свою очередь, если было брошено два кубика и на их верхних гранях выпало по единице, то первый игрок получает также два очка, а второй игрок – двенадцать очков, так как на нижних гранях этих кубиков оказались шестерки.
Матвей рассказал об этой игре своему другу, юному информатику Фоме, и они начали играть в неё через Интернет. Поскольку Фома не видит результат броска и не знает, сколько кубиков бросает Матвей как первый игрок, то о набранных каждым игроком очках он узнает только от Матвея. Чтобы проверить достоверность этой информации, Фома решил узнать, какое минимальное и максимальное количество очков мог получить он, если известно, сколько очков набрал Матвей.