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

# Задание 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':

# Задание 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])
 
 

n,m = map(int,input().split())
a = []
for i in range(n):
    a.append(list(map(int,input().split())))
s = list(map(int,input().split()))
k = a[0][0]-100000000
h = 0
y = 0
for j in range(m):
    h = 0
    for i in range(n):
        h+=a[i][j]
    if(h > k):
        k = h
        y = j
        
for i in range(n):
    for j in range(m):
        if y == j:
            print('{:3d}'.format(s[i]), end = " ")
        else:
            print('{:3d}'.format(a[i][j]), end = " ")
    print()
n,m = map(int,input().split())
a = []
for i in range(n):
    a.append(list(map(int,input().split())))
 
k,d = map(int,input().split())
 
for i in range(n):
    for j in range(m):
        if k == i:
            print('{:3d}'.format(a[d][j]), end = " ")
        elif(d == i):
            print('{:3d}'.format(a[k][j]), end = " ")
        else:
            print('{:3d}'.format(a[i][j]), end = " ")
    print()
a = input()
i = 0
s = [0]*26
while(a[i] != "."):
  if(ord(a[i]) >= 97 and ord(a[i]) <= ord("z")):
    s[ord(a[i])-97]+=1
  i+=1
for i in range(26):
  if(s[i] != 0):
    print(chr(i+97), s[i], sep = "")
n = int(input())
s = [0]*100
for i in range(n):
  a = list(map(str,input().split()))
  s[int(a[2])] +=1
k = 10000000000000000000000000000000000000000000000000
for i in range(100):
  if(k > s[i] and s[i] != 0):
    k = s[i]
for i in range(100):
  if(k == s[i]):
    print(i)
n = int(input())
s = [0]*100
for i in range(n):
  a = list(map(str,input().split()))
  s[int(str(a[2])[-2]+str(a[2])[-1])] +=1
k = 0
g = 0
for i in range(100):
  k+=s[i]
  if(s[i] != 0):
    g+=1
 
print(k/g)
def bin(n,a,x):
  l = -1
  r = n-1
  while(r-l>1):
    m = (r+l)//2
    if(a[m] >= x):
      r = m
    else:
      l = m
  if(a[r] == x):
    return("YES")
  else:
    return("NO")
n,m = map(int,input().split())
a = list(map(int,input().split()))
s = list(map(int,input().split()))
for i in s:
  print(bin(n,a,i))

def bi(n,a,x):
  l = -1
  r = n-1
  while(r-l>1):
    m = (r+l)//2
    if(a[m] >= x):
      r = m
    else:
      l = m
  if(abs(a[r] - x) > abs(a[r-1]-x)):
    return(r-1)
  else:
    return(r)
  
n=int(input())
a = list(map(int,input().split()))
a.sort()
s = int(input())
print(a[bi(n,a,s)])

n,k,d = map(int,input().split())
a = []
for i in range(n):
  a.append(int(input()))
r = 0
a = sorted(a,reverse=True)
for i in range(k):
  r+= a[i]*(100-d)//100
print(r)
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать