This commit is contained in:
2026-01-21 20:35:30 +03:00
parent 535079b255
commit 416e31a5e8
9 changed files with 2967 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
from itertools import permutations
def task2() -> None:
x = list(range(1, 17))
for perm in permutations(x):
if (
perm[0] + perm[4] == 19
and perm[1] + perm[5] == 17
and perm[2] + perm[6] == 12
and perm[3] + perm[7] == 18
and perm[8] + perm[12] == 8
and perm[9] + perm[13] == 31
and perm[10] + perm[14] == 16
and perm[11] + perm[15] == 15
):
print(perm)
def main() -> None:
task2()
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,122 @@
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
task5();
}
static void task5() {
Scanner sc = new Scanner(System.in);
long count = 0;
while (sc.hasNextLine()) {
String line = sc.nextLine();
int wordLen = 0;
char lastChar = 0;
for (int i = 0; i < line.length(); i++) {
char ch = line.charAt(i);
if (Character.isLetter(ch)) {
wordLen++;
lastChar = ch;
} else {
if (wordLen == 1 && (lastChar == 'a' || lastChar == 'A')) {
count++;
}
wordLen = 0;
}
}
if (wordLen == 1 && (lastChar == 'a' || lastChar == 'A')) {
count++;
}
}
sc.close();
System.out.println(count);
}
static void task4() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
String s = sc.nextLine();
sc.close();
int count = 0;
for (char ch : s.toCharArray()) {
if (ch == 'a') {
count++;
}
}
System.out.println(count);
}
static void task3() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int[] rows_sum = new int[n];
int[] columns_sum = new int[n];
Arrays.fill(columns_sum, 0);
int[][] mat = new int[n][n];
for (int i = 0; i < n; i++) {
int row_sum = 0;
String[] srow = sc.nextLine().split(" ");
int[] row = new int[n];
for (int j = 0; j < n; j++) {
row[j] = Integer.parseInt(srow[j]);
row_sum += row[j];
columns_sum[j] += row[j];
}
mat[i] = row;
rows_sum[i] = row_sum;
}
sc.close();
// for (int i = 0; i < n; i++) {
// System.out.println(Arrays.toString(mat[i]));
// }
// System.out.println("rows sum: " + Arrays.toString(rows_sum));
// System.out.println("columns sum: " + Arrays.toString(columns_sum));
int interesting_pairs = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (Math.abs(rows_sum[i] - columns_sum[j]) <= mat[i][j]) {
interesting_pairs++;
}
}
}
System.out.println(interesting_pairs);
}
static void task2() {
Scanner sc = new Scanner(System.in);
long n = sc.nextInt();
sc.close();
System.out.println(n == 1 ? 1 : 4 * (n - 1));
}
static void task1() {
Scanner sc = new Scanner(System.in);
long n = sc.nextInt();
sc.close();
long s = ((100 + n) * (n - 99)) / 2;
System.out.println(s);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,103 @@
#set text(
font: "New Computer Modern",
size: 14pt,
lang: "ru"
)
#set page(
paper: "a4"
)
#set par(
leading: 0.52em
)
#align(center)[= Тестирование формы бронирования зала]
== Выбор зала
- Проверить открытие выпадающего списка при клике на поле
- Проверить выбор зала из списка
- Проверить отображение выбранного зала в поле
- Проверить невозможность отправки формы без выбора зала
- Проверить отображение ошибки при попытке отправить форму без выбора
== Дата бронирования
- Проверить открытие календаря при клике на поле/иконку
- Проверить выбор даты из календаря
- Проверить отображение выбранной даты в поле
- Проверить невозможность выбора прошедших дат
- Проверить валидацию формата даты при ручном вводе
- Проверить невозможность отправки формы без выбора даты
== Время начала бронирования
- Проверить открытие селектора времени при клике на поле/иконку
- Проверить выбор времени из списка
- Проверить невозможность выбора прошедшего времени для текущей даты
- Проверить ограничение времени работы клуба
- Проверить валидацию формата времени
- Проверить невозможность отправки формы без выбора времени
== Время окончания бронирования
- Проверить открытие селектора времени при клике на поле/иконку
- Проверить невозможность выбора времени окончания раньше времени начала
- Проверить соблюдение минимального времени бронирования
- Проверить автоматическое обновление при изменении времени начала
- Проверить невозможность отправки формы без выбора времени окончания
== Дополнительные услуги
- Проверить включение/выключение чекбокса
- Проверить добавление X р. к стоимости при выборе
- Проверить корректность отображения цены
Для поля "Дополнительные гости":
- Проверить отображение/скрытие поля "Кол-во гостей"
- Проверить возможность ввода только положительных целых чисел
- Проверить невозможность ввода букв и спецсимволов
- Проверить ограничение максимального количества гостей
== Контактная информация
=== Имя
- Проверить возможность ввода имени (кириллица, латиница)
- Проверить невозможность ввода цифр и спецсимволов
- Проверить ограничение минимальной/максимальной длины
- Проверить невозможность отправки формы с пустым полем
- Проверить отображение ошибки при некорректном вводе
=== Телефон
- Проверить возможность ввода номера телефона
- Проверить наличие маски ввода
- Проверить валидацию формата номера (10-11 цифр)
- Проверить возможность ввода только цифр
- Проверить невозможность отправки формы с пустым/некорректным полем
=== Согласие на обработку ПД
- Проверить включение/выключение чекбокса
- Проверить невозможность отправки формы без согласия
- Проверить отображение ошибки при попытке отправить без согласия
=== Пожелание к брони
- Проверить возможность ввода текста
- Проверить необязательность заполнения поля
- Проверить ограничение максимальной длины текста
== Стоимость бронирования
- Проверить отображение "Стоимость: 0 ₽" по умолчанию
- Проверить автоматическое обновление стоимости при выборе зала
- Проверить автоматическое обновление при выборе времени
- Проверить автоматическое обновление при выборе дополнительных услуг
- Проверить корректность расчета всех компонентов стоимости
- Проверить корректность итоговой суммы