2022 city statements
This commit is contained in:
54
2022/city/10/domino/README.md
Normal file
54
2022/city/10/domino/README.md
Normal file
@@ -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/)
|
||||||
|
|
||||||
63
2022/city/10/energie/README.md
Normal file
63
2022/city/10/energie/README.md
Normal file
@@ -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
|
||||||
65
2022/city/10/numere/README.md
Normal file
65
2022/city/10/numere/README.md
Normal file
@@ -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/)
|
||||||
54
2022/city/12/expresii/README.md
Normal file
54
2022/city/12/expresii/README.md
Normal file
@@ -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/)
|
||||||
66
2022/city/12/grupuri/README.md
Normal file
66
2022/city/12/grupuri/README.md
Normal file
@@ -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-му подкаталогу.
|
||||||
Reference in New Issue
Block a user