Статья Автор: Рябинин Дмитрий

Дмитрий Дубинин: Дубинин Дмитрий Обучение Задания (51) Решенные задания Мои посылки Избранное Тетради Профиль Дневник ЕГЭ apps.rustore.ru Реклама favicon Перейти Личный кабинет учителя Новая рабочая тетрадь Параметры вопроса Название задачи # Задание 1 вариант 1 n = int(input()) a = [] # Вводим матрицу for i in range(n): a.append(list(map(int, input().split()))) # Меняем диагонали for i in range(n): a[i][i], a[n-i-1][i] = a[n-i-1][i], a[i][i] for i in range(n): print(*a[i]) # Задание 1 вариант 2 n = int(input()) m = int(input()) a = [] # Вводим матрицу for i in range(n): a.append(list(map(int, input().split()))) # Ищем два максимума mx0 = mx1 = -10 ** 10 j0 = j1 = i0 = i1 = 0 for i in range(n): for j in range(m): if a[i][j] > mx0: mx1, i1, j1 = mx0, i0, j0 mx0, i0, j0 = a[i][j], i, j elif a[i][j] > mx1: mx1, i1, j1 = a[i][j], i, j # Меняем местами элементы a[i0][j0], a[i1][j1] = a[i1][j1], a[i0][j0] for i in range(n): print(*a[i]) # Задание 2 вариант 1 # Программа должна использовать рекурсию, т.к. циклы запрещены def rec(s, n): if n < 1: print(s) return rec(s + '0', n - 1) rec(s + '1', n - 1) rec(s + '2', n - 1) n = int(input()) rec('', n) # Задание 2 вариант 2 # Программа должна использовать рекурсию, т.к. циклы запрещены def rec(s, n): if n < 1: print(s) return if s == '' or s[-1] != 'K': rec(s + 'K', n - 1) if s == '' or s[-1] != 'L': rec(s + 'L', n - 1) if s == '' or s[-1] != 'M': Время проверки (мс) 1000 Выделяемая память (Мб) 256 Файл к задаче Файл не выбран Выводить в условии ссылки для скачивания файлов ? Список загруженных файлов Нет прикрепленных файлов Ссылка для просмотра: https://silvertests.ru/NoteBook.aspx?id=63969 Разрешить копировать: Объединять блоки кода в одну программу: Рабочая тетрадь # Задание 1 вариант 1 n = int(input()) a = [] # Вводим матрицу for i in range(n): a.append(list(map(int, input().split()))) # Меняем диагонали for i in range(n): a[i][i], a[n-i-1][i] = a[n-i-1][i], a[i][i] for i in range(n): print(*a[i]) # Задание 1 вариант 2 n = int(input()) m = int(input()) a = [] # Вводим матрицу for i in range(n): a.append(list(map(int, input().split()))) # Ищем два максимума mx0 = mx1 = -10 ** 10 j0 = j1 = i0 = i1 = 0 for i in range(n): for j in range(m): if a[i][j] > mx0: mx1, i1, j1 = mx0, i0, j0 mx0, i0, j0 = a[i][j], i, j elif a[i][j] > mx1: mx1, i1, j1 = a[i][j], i, j # Меняем местами элементы a[i0][j0], a[i1][j1] = a[i1][j1], a[i0][j0] for i in range(n): print(*a[i]) # Задание 2 вариант 1 # Программа должна использовать рекурсию, т.к. циклы запрещены def rec(s, n): if n < 1: print(s) return rec(s + '0', n - 1) rec(s + '1', n - 1) rec(s + '2', n - 1) n = int(input()) rec('', n) # Задание 2 вариант 2 # Программа должна использовать рекурсию, т.к. циклы запрещены def rec(s, n): if n < 1: print(s) return if s == '' or s[-1] != 'K': rec(s + 'K', n - 1) if s == '' or s[-1] != 'L': rec(s + 'L', n - 1) if s == '' or s[-1] != 'M': rec(s + 'M', n - 1) if s == '' or s[-1] != 'N': rec(s + 'N', n - 1) n = int(input()) rec('', n) # Задание 3 вариант 1 # Программа должна водить данные из файла. Если в файлe есть данные на кириллице, # нужно использовать encoding file = open('name.txt', encoding = 'utf-8') s = file.read() file.close() counter = [0] * 1200 alf = 'ячсмитьбюэждлорпавыфйцукенгшщзхъё' # используем список счетчиков. создаем список повторов каждой буквы в нижнем регистре for i in range(len(s)): if s[i-1].lower() == 'т' and s[i].lower() in alf: counter[ord(s[i].lower())] += 1 m = max(counter) for i in range(1200): if counter[i] == m: print(chr(i)) break # Задание 3 вариант 2 # Программа должна вводить данные из файла. Если в файлe есть данные на кириллице, # нужно использовать encoding file = open('name.txt', encoding = 'utf-8') s = file.read() # можно использовать словарь d = dict() alf_ = '1234567890)(/*-+,.;:!?%$#@&^/{}[]№' #не буквы for c in s: for symbol in alf_: c = c.replace(symbol, ' ') # все, кроме букв, меняем на пробел while ' ' in c: c = c.replace(' ', ' ') # убираем двойные пробелы s = s.lower().split() # разбиваем на списoк слов for word in s: # можно исп-ть функцию get для работы со словарем d[word] = d.get(word, 0) + 1 # но можно не исп-ть get. другой вариант решения: # if word in d: # d[word] += 1 # else: # d[word] = 1 # идем по отсортированному словарю по парам ключ-значение и выводим for key, value in sorted(d.items()): if value == 2: print(key) # или идем идем по отсортированному словарю по ключам и выводим for key in sorted(d.keys()): if d[key] == 2: print(key) # Задание 4 вариант 1 # Программа должна использовать алгоритм бин.поиска, иначе не зайдет по времени def bin_search(arr, x, n): r = n l = -1 while r - l > 1: m = (r + l) // 2 if arr[m] >= x: r = m else: l = m return r n = int(input()) a = list(map(int, input().split())) x = int(input()) a.sort() if x < a[0]: print(a[0]) elif x > a[-1]: print(a[-1]) else: ans = bin_search(a, x, n) if a[ans] - x < x - a[ans-1]: print(a[ans]) else: print(a[ans-1]) # Задание 4 вариант 2 # Программа должна использовать алгоритм бин.поиска, иначе не зайдет по времени def bin_search(arr, x, n): r = n l = -1 while r - l > 1: m = (r + l) // 2 if arr[m] >= x: r = m else: l = m return r n, k = map(int, input().split()) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split())) for number in arr2: if number < arr1[0] or number > arr1[-1]: print('NO') else: if bin_search(a, x, n): print('YES') else: print('NO') # Задание 5 вариант 1 # Программа должна использовать сортировку по условию s = input() dig = s.split() dig.sort(key = lambda x: x.count('0')) print(*dig) # Задание 5 вариант 2 # Программа должна использовать сортировку по условию n = int(input()) list_student = [] for i in range(n): s = input().split() list_student.append([s[0], float(s[2].replace(',', '.'))]) list_student.sort(key = lambda x: -x[1]) for i in range(n): print(list_student[i][0])

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать