From 305f89bc3e4f419fb13dd6382afeb3f48535323b Mon Sep 17 00:00:00 2001 From: oleg20111511 Date: Sat, 5 Apr 2025 20:00:08 +0300 Subject: [PATCH] 2022 city statements --- 2022/city/10/domino/README.md | 54 +++++++++++++++++++++++++++ 2022/city/10/energie/README.md | 63 +++++++++++++++++++++++++++++++ 2022/city/10/numere/README.md | 65 ++++++++++++++++++++++++++++++++ 2022/city/12/expresii/README.md | 54 +++++++++++++++++++++++++++ 2022/city/12/grupuri/README.md | 66 +++++++++++++++++++++++++++++++++ 5 files changed, 302 insertions(+) create mode 100644 2022/city/10/domino/README.md create mode 100644 2022/city/10/energie/README.md create mode 100644 2022/city/10/numere/README.md create mode 100644 2022/city/12/expresii/README.md create mode 100644 2022/city/12/grupuri/README.md diff --git a/2022/city/10/domino/README.md b/2022/city/10/domino/README.md new file mode 100644 index 0000000..f8dbb47 --- /dev/null +++ b/2022/city/10/domino/README.md @@ -0,0 +1,54 @@ +# Домино +* Городская олимпиада по информатике в Республике Молдова. + +* Год 2022 + +* 10 класс + +* 1 задача(самая сложная) + + +# Задача : + + В игре Домино используются 28 костяшек, представляющих собой прямоугольные пластины. Каждая костяшка идентифицируется 2 цифрами, нанесенные на пластину с помощью точек, + причем каждое число принадлежит множеству {0, 1, 2, 3, 4, 5, 6}. Маркировка указанных чисел осущевствляется путем разделения поверхности каждой костяшки на 2 одинаковые области. + Рассматривая костяшки в качестве воображаемых вагонов, из n различных костяшек можно построить "железнодорожный поезд" со следующим свойством : соседние числа любых соприкасающихся + костяшек равны между собой. Длина поезда определяется количеством костяшек m из которого он состоит. Очевидно m <= n. + + Напишите программу которая определяет количество костяшек в "поезде" максимальной длины, которой можно построить из n различных костяшек. + + +# Входные данные + + Текстовый файл domino.in содержит в 1ой строке к-во костяшек n.Следующие n строк входного файла содержат по 2 целых числа, разделенных пробелом, причем каждая из этих строк + описывает отдельную костяшку. + +# Выходные данные + + Текстовый файл domino.out должен содержать в единственной строке к-во костяшек m "поезда" максимальной длины. + + + +# Пример + + + domino.in + + 4 + 3 6 + 3 5 + 3 0 + 6 6 + +domino.out + + 3 + + +# Ограниения + +Для первых 10 тестов 1 <= n <= 10. Для последующих 10 тестов 11 <= n <= 28. Ограничения на время выполнения 0.1с. На память 8мб. + +# Похожие задачи +1. [46 Permutations](https://leetcode.com/problems/permutations/) + \ No newline at end of file diff --git a/2022/city/10/energie/README.md b/2022/city/10/energie/README.md new file mode 100644 index 0000000..8986638 --- /dev/null +++ b/2022/city/10/energie/README.md @@ -0,0 +1,63 @@ +# Энергия +* Городская олимпиада по информатике Республика Молдова. + +* Год 2022. + +* 10 класс + +* 2 задача + +_____________________________________________________________________________________________________________________________ + + Все мы хотим жить на зеленой планете. Для этого очень важно экономить электроэнергию. + + Рассматриваются абоненты, подключенные к эл. сети определенного населенного пункта. Для каждого из этих абонентов известны имя и фамилия, имя и годовое потребление энергии, + выраженное в киловатт-часах. + + Задание : + Разработайте программу, которая : + 1) вычисляет среднегодовое потребление электроэнергии на 1 абонента. + 2) определяет абонента с макс годовым потреблением электроэнергии. + 3) определяет абонента с мин годовым потреблением электроэнергии. + + В качестве примера, ниже представлена таблица с информацией об абонентах некоторого нас. пункта. + + Фамилия, имя абонента Годовое потребление + Munteanu Ion 25 + Priscaru Vioriсa 59 + Postasul Valentina 38 + + Из вышепреведенной таблицы следует, что абонентом с макс потреблением электроэнергии является Priscaru Vioriса, а абонентом с мин годовым потреблением электроэнергии - Munteanu Ion. + Среднегодовое потребление электроэнергии на 1 абонента вычисляется следующим образом : (59 + 25 + 38) : 3 = 40,6666666667. + + ______________________________________________________________________________________________________________ + + Входные данные: + + Текстовый файл energie.in содержит в 1 строке целое число - число абонентов. Каждая из следующих строк входного файла содержит строку символов : фамилию, имя и годовое + потребление абонента. + + Выходные данные: + + Текстовый файл energie.out должен содержать в строке вещ. число - среднегодовое потребление на 1 абонента. Вещ. число должно быть записано на 10 позициях, с выравниваем по + правому краю, без маштабного множителя, с 2 знаками после запятой. + Вторая строка файла должна содержать информацию об абоненте с макс значением потребления энергии, 3ья информацию об абоненте с мин значением потребления энергии. + + Ограничения : Не более 10 абонентов. Потребление не более 4000. Нет одинакового потребления среди пользователей. Память - 8мб, время - 0,1 с. + + _________________________________________________________________________________________________________________ + + Пример : + + energie.in + + 3 + Munteanu Ion 25 + Priscaru Vio 59 + Postasul Valentina 38 + + energie.out + + 40.67 + Priscaru Viorica 59 + Munteanu Ion 25 diff --git a/2022/city/10/numere/README.md b/2022/city/10/numere/README.md new file mode 100644 index 0000000..83b564f --- /dev/null +++ b/2022/city/10/numere/README.md @@ -0,0 +1,65 @@ +# Римские числа +* Городская олимпиада по информатике в Республике Молдова. +* Год 2022 +* 10 класс +* 3 задача + +# Описание + +В римской системе счисления используется 7 цифр , представленные следующими буквами латиеского алфавита : I , V , X , L , C , D , M . В десятичной системе рассматриваемые цифры +имеют следующие значения : + + I = 1 + V = 5 + X = 10 + L = 50 + C = 100 + D = 500 + M = 1000 + +Напоминаем, что римская система счисления является непозиционной. Число читается слева направо. Десятичное число определяется путем суммирования отдельных десятичных значений каждой +из цифр, если только текущая цифра не предшевствует цифре с более высоким значением. В этом случае десятичное значение текущей цифры вычитается из десятичного значения следующей цифры. + +# Задание + + Напишите программу для перевода римских чисел в их значение в десятичной системе счисления. + +# Входные данные + + Текстовый файл numere.in содержит в 1ой строке число n римских чисел из входного файла. Каждая из следующих n строк содержит по 1 римскому числу. + +# Выходные данные + + Текстовый файл numere.out должен содержать в 1ой строке целое число n. Каждая из следующих n строк выходного файла содержать по й целому числу - десятичное значение + римского числа из соотвествующей строки входного файла. + +# Ограничения + + 1 <= n <= 10. Каждое римское число содержит не более 255 римских цифр. Время <= 0,1c. Память <= 8мб. + +______________________________________________________________________________________________________________________ + +# Пример + +numere.in + + 6 + X + IX + XIII + XIV + MMCIX + MMXXII + +numere.out + + 6 + 10 + 9 + 13 + 14 + 2109 + 2022 + +# Похожие задачи +1. [13. Roman to Integer](https://leetcode.com/problems/roman-to-integer/) \ No newline at end of file diff --git a/2022/city/12/expresii/README.md b/2022/city/12/expresii/README.md new file mode 100644 index 0000000..01f572d --- /dev/null +++ b/2022/city/12/expresii/README.md @@ -0,0 +1,54 @@ +# Римские арифметические выражения +* Городская Олимпиада Молдовы по информатике +* Год: 2022 +* Класс: 12 +* Задача: 2 + +В римской системе счисления используется 7 цифр, представленные следующими буквами латинского алфавита: I, V, X, L, C, D и M. В детсятичной системе рассматриваемые цифры имеют следующие значения:\ +`I - 1`\ +`V - 5`\ +`X - 10`\ +`L - 50`\ +`C - 100`\ +`D - 500`\ +`M - 1000` + +Напоминаем, что римская система счисления является непозиционной. Число, записанное в римской системе, читается слева направо. Десятичное значение числа определяется путем суммирования отдельных десятичных значений каждой из цифр, если только текущая цифра не предшествует цифре с более высоким значением. В этом случае десятичное значение текущей цифры вычитается из десятичного значения следующей цифры.\ +Примеры: + +`X - 10`\ +`IX - 9`\ +`XIII - 13`\ +`XIV - 14`\ +`MMCIX - 2109`\ +`MMXXII - 2022` + + +# Задание +Напишите программу для вычисления десятичного значения римских арифметических выражений. + +# Входные данные +Файл `expresii.in` содержит в единственной строке римское арифметическое выражение. + +# Выходные данные. +Файл `expresii.out` должен содержать в единственной строке целое число – значение римского арифметического выражения из входного файла, записанное в десятичной системе счисления. + +# Ограничения. +* Абсолютное десятичное значение римского арифметического выражения из входного файла не превышает `2 * 10^9`. Ограничения на время выолнения и на объём используемой памяти приведены на странице "Общее описание задач". +Исходный файл должен иметь одно из названий `expresii.pas`, `expresii.c` или `expresii.cpp` + +# Пример 1 +`expresii.in` +``` +XIV*MMCIX-MMXXII+V*XL +``` +\ +\ +`expresii.out` +``` +27704 +``` + +# Похожие задачи +1. [227. Basic Calculator II](https://leetcode.com/problems/basic-calculator-ii/) +2. [13. Roman to Integer](https://leetcode.com/problems/roman-to-integer/) diff --git a/2022/city/12/grupuri/README.md b/2022/city/12/grupuri/README.md new file mode 100644 index 0000000..f6e3a70 --- /dev/null +++ b/2022/city/12/grupuri/README.md @@ -0,0 +1,66 @@ +# Grupuri / Группы +* Городская олимпиада Кишинева по информатике +* Год 2022 +* 12 класс +* Задача 3 + +Фирма ABC-Soft имеет `m` служащих и располагает компьютерной сетью. Каждый пользователь идентифицируется с помощью индивидуального целого числа, состоящего из шести цифр. Сервер сети предоставляет в общее пользование жесткий диск, корневой каталог которого имеет `n` подкаталогов. Для каждого подкаталога существует список, в котором указаны пользователи, имеющие доступ к его файлам. В общем случае +пользователь имеет доступ к одному или к нескольким подкаталогам. + + +Администратор сети желает разбить множество пользователей на отдельные группы. Два пользователя могут быть включены в одну и ту же группув том и только в том случае если оба имеют доступ к одним и тем же подкаталогам. + + +Напишите программу, которая получая на входе списки пользователей каждого из подкаталогов, вычисляет количество групп пользователей `К`. + +# Входные данные +Текстовый файл `grupuri.in` содержит в первой строке одно целое число - количество тестов `T`. Далее следуют `T` тестов. В первой строке теста находится количество подкаталогов `n`. Следующие `n` строк входного файла содержат списки пользователей, по одному списку в каждой строке. Первым в строке `i + 1` записано целое число `m[i]` количество пользователей которые имеют доступ к файлам из подкаталога `і`, далее, в том же строке записаны идентификационные номера соответствующих пользователей, все числа разделены пробелами. + + +# Выходные данные +Текстовый файл `grupuri.out` должен содержать в единственной строке целое число — число групп пользователей `k`. + +# Ограничения +* 1 <= n <= 100. +* Для первых 10 тестов 1 <= m <= 100; 1 <= m[i] <= 100, i = 1, 2, 3, ..., п. +* Для следующих 10 тестов 1 <= m <= 10000; 1 <= m[i] <= 10000, i = 1, 2, 3, ..., п. +* Идентификационные номера пользователей состоят из шести цифр, включая, при необходимости, незначащие нули, и находятся в интервале [1, 999999]. +* Ограничения на время выполнения и на объем используемой памяти приведены на странице «Общее описание задач». +* Исходный файл должен иметь имя grupuri.pas, grupuri.c или grupuri.cpp. + + +# Пример +`tests.in` + +``` +1 +5 +2 010000 020000 +3 020000 010000 999999 +3 020000 999999 010000 +1 999999 +2 O30000 999999 +``` + +`tests.out` +``` +3 +``` + +# Объяснение +Все участники группы должны иметь допступ ко всем подкаталогам, +к которым имеет доспут каждый член группы. +``` +группа) подкаталоги (служащие) + +a) 1, 2, 3 (1, 2) +b) 2, 3, 4, 5 (9) +c) 5 (3) +``` + +Группа a) имеет доступ к 1, 2, 3 подкаталогам (все её участники должны иметь доспут к этим подкаталогам). + + +Группа b) имеет доступ к 2, 3, 4, 5 подкаталогам. К этим подкаталогам имеет доступ только 1 служащий `9`. + +Группа c) имеет доступ к 5 подкаталогу. В неё входит служащий `3`. В неё не может входить служащий `9`, потому что в таком случае все участники этой группы должны иметь доспут к подкаталогам `9` служащего, а служащий `3` имеет доступ только к 5-му подкаталогу.