Загрузка данных
# Задача 1
celsius_list = list(map(float, input().split()))
fahrenheit_list = [round(c * 1.8 + 32, 1) for c in celsius_list]
print(*fahrenheit_list)
# Задача 2
words = input().split()
filtered_words = [word for word in words if len(word) > 5]
print(*filtered_words)
# Задача 3
raw_names = input().split(',')
formatted_names = [name.strip().capitalize() for name in raw_names if name.strip()]
print(", ".join(formatted_names))
# Задача 4
numbers = list(map(int, input().split()))
squared_positives = [x**2 for x in numbers if x > 0]
print(*squared_positives)
# Задача 5
n = int(input())
points = []
for _ in range(n):
x, y = map(float, input().split())
points.append((x, y))
points.sort(key=lambda p: (p[0]**2 + p[1]**2))
for x, y in points:
print(int(x) if x.is_integer() else x, int(y) if y.is_integer() else y)
# Задача 6
total_sum = 0
with open("matrix.txt", "r", encoding="utf-8") as f:
for line in f:
nums = list(map(int, line.split()))
total_sum += sum(nums)
print(total_sum)
# Задача 7
n = int(input())
for _ in range(n):
row = list(map(int, input().split()))
if sum(row) % 2 == 0:
print(*row)
# Задача 8
with open("data.txt", "r", encoding="utf-8") as f:
for line in f:
cleaned = line.strip()
if cleaned:
print(cleaned)
# Задача 9
vowels = set("аеёиоуыэюяАЕЁИОУЫЭЮЯ")
n, m = map(int, input().split())
for _ in range(n):
row = input().split()
row_sorted = sorted(row, key=lambda w: sum(1 for char in w if char in vowels))
print(*row_sorted)
# Задача 10
with open("table.txt", "r", encoding="utf-8") as f:
matrix = [list(map(float, f_line.split())) for f_line in f if f_line.strip()]
if matrix:
num_cols = len(matrix[0])
col_sums = [sum(row[j] for row in matrix) for j in range(num_cols)]
col_sums_formatted = [int(s) if s.is_integer() else s for s in col_sums]
print(*col_sums_formatted)
# Задача 11
import statistics
max_median = float('-inf')
best_line = -1
with open("scores.txt", "r", encoding="utf-8") as f:
for line_idx, line in enumerate(f, start=1):
if line.strip():
scores = list(map(int, line.split()))
med = statistics.median(scores)
if med > max_median:
max_median = med
best_line = line_idx
print(best_line)
# Задача 12
n = int(input())
matrix = [list(map(int, input().split())) for _ in range(n)]
for i in range(n):
if matrix[i][0] > matrix[i][i]:
print(*matrix[i])
# Задача 13
response_times = []
with open("server.log", "r", encoding="utf-8") as f:
for line in f:
parts = [p.strip() for p in line.split("|")]
if len(parts) == 3:
code = parts[1]
time_ms = float(parts[2])
if code == "200":
response_times.append(time_ms)
if response_times:
print(round(sum(response_times) / len(response_times), 2))
# Задача 14
matrix = []
with open("input_grid.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
matrix.append(list(map(int, line.split())))
n = len(matrix)
for i in range(n):
row = []
for j in range(n):
if j == i or j == n - 1 - i:
row.append(matrix[i][j] ** 2)
else:
row.append(0)
print(*row)
# Задача 15
candidates = []
with open("results.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
parts = line.strip().split(";")
name_parts = parts[0].split()
surname = name_parts[0]
scores = list(map(int, parts[1:]))
total = sum(scores)
candidates.append((total, surname, parts[0]))
candidates.sort(key=lambda x: (-x[0], x[1]))
for cand in candidates[:3]:
print(f"{cand[2]}: {cand[0]}")
# Задача 16
with open("payload.txt", "r", encoding="utf-8") as f:
for line in f:
cleaned = line.strip()
if len(cleaned) >= 10:
print(f"{cleaned[:5]}...{cleaned[-5:]}")
# Задача 17
cleaned_matrix = []
with open("raw_matrix.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
row = []
for val in line.split():
if val == "NA" or not val.lstrip('-').isdigit():
row.append(0)
else:
row.append(int(val))
cleaned_matrix.append(row)
for row in cleaned_matrix:
print(*row)
# Задача 18
n, m = map(int, input().split())
matrix = [list(map(int, input().split())) for _ in range(n)]
min_in_row = [min(row) for row in matrix]
max_in_col = [max(matrix[i][j] for i in range(n)) for j in range(m)]
for i in range(n):
for j in range(m):
val = matrix[i][j]
if val == min_in_row[i] and val == max_in_col[j]:
print(f"({i}, {j}) = {val}")
# Задача 19
stopwords = {"и", "в", "на", "с", "по", "что"}
words = []
with open("story.txt", "r", encoding="utf-8") as f:
text = f.read()
raw_words = text.split()
for w in raw_words:
cleaned = "".join(c for c in w if c.isalnum()).lower()
if cleaned and cleaned not in stopwords:
words.append(cleaned)
words.sort(key=lambda x: (-len(x), x))
print(*words)
# Задача 20*
matrix = []
with open("input_matrix.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
matrix.append(list(map(int, line.split())))
n = len(matrix)
m = len(matrix[0]) if n > 0 else 0
rotated = [[matrix[n - 1 - i][j] for i in range(n)] for j in range(m)]
for row in rotated:
print(*row)
# Задача 21*
image = []
with open("image.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
image.append(list(map(int, line.split())))
n = len(image)
m = len(image[0]) if n > 0 else 0
blurred = [[0] * m for _ in range(n)]
for i in range(n):
for j in range(m):
neighbors = []
for di in (-1, 0, 1):
for dj in (-1, 0, 1):
ni, nj = i + di, j + dj
if 0 <= ni < n and 0 <= nj < m:
neighbors.append(image[ni][nj])
blurred[i][j] = round(sum(neighbors) / len(neighbors))
for row in blurred:
print(*row)
# Задача 22*
balances = {}
with open("transactions.txt", "r", encoding="utf-8") as f:
for line in f:
parts = line.strip().split()
if len(parts) == 3:
user_id, op_type, amount_str = parts
try:
amount = float(amount_str)
if amount > 0:
if user_id not in balances:
balances[user_id] = 0.0
if op_type == "IN":
balances[user_id] += amount
elif op_type == "OUT":
balances[user_id] -= amount
except ValueError:
continue
positive_balances = [(uid, bal) for uid, bal in balances.items() if bal > 0]
positive_balances.sort(key=lambda x: -x[1])
for uid, bal in positive_balances:
formatted_bal = int(bal) if bal.is_integer() else bal
print(f"{uid}: {formatted_bal}")
# Задача 23*
events = []
with open("events.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
parts = line.strip().rsplit(" ", 1)
name = parts[0]
times = parts[1].split("-")
start = times[0]
end = times[1]
events.append((name, start, end))
events.sort(key=lambda x: x[2])
selected = []
last_end = "00:00"
for name, start, end in events:
if start >= last_end:
selected.append(name)
last_end = end
for name in selected:
print(name)
# Задача 24*
matrix = []
with open("matrix.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
matrix.append(list(map(int, line.split())))
n = len(matrix)
is_magic = True
all_elements = [elem for row in matrix for elem in row]
if len(all_elements) != len(set(all_elements)):
is_magic = False
else:
target_sum = sum(matrix[0])
for row in matrix:
if sum(row) != target_sum:
is_magic = False
break
if is_magic:
for j in range(n):
if sum(matrix[i][j] for i in range(n)) != target_sum:
is_magic = False
break
if is_magic:
if sum(matrix[i][i] for i in range(n)) != target_sum:
is_magic = False
if is_magic:
if sum(matrix[i][n - 1 - i] for i in range(n)) != target_sum:
is_magic = False
print("YES" if is_magic else "NO")
# Задача 25*
n = int(input())
matrix = [[0] * n for _ in range(n)]
top, bottom, left, right = 0, n - 1, 0, n - 1
val = 1
while top <= bottom and left <= right:
for j in range(left, right + 1):
matrix[top][j] = val
val += 1
top += 1
for i in range(top, bottom + 1):
matrix[i][right] = val
val += 1
right -= 1
if top <= bottom:
for j in range(right, left - 1, -1):
matrix[bottom][j] = val
val += 1
bottom -= 1
if left <= right:
for i in range(bottom, top - 1, -1):
matrix[i][left] = val
val += 1
left += 1
def is_prime(num):
if num < 2:
return False
for d in range(2, int(num**0.5) + 1):
if num % d == 0:
return False
return True
primes = []
for row in matrix:
for x in row:
if is_prime(x):
primes.append(x)
primes.sort(reverse=True)
print(*primes)
# Задача 26*
grid = []
with open("grid.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
grid.append(list(map(int, line.split())))
n = len(grid)
m = len(grid[0]) if n > 0 else 0
next_grid = [[0] * m for _ in range(n)]
for i in range(n):
for j in range(m):
live_neighbors = 0
for di in (-1, 0, 1):
for dj in (-1, 0, 1):
if di == 0 and dj == 0:
continue
ni, nj = i + di, j + dj
if 0 <= ni < n and 0 <= nj < m and grid[ni][nj] == 1:
live_neighbors += 1
if grid[i][j] == 1:
if live_neighbors in (2, 3):
next_grid[i][j] = 1
else:
next_grid[i][j] = 0
else:
if live_neighbors == 3:
next_grid[i][j] = 1
for row in next_grid:
print(*row)
# Задача 27*
terrain = []
with open("terrain.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
terrain.append(list(map(int, line.split())))
max_len = -1
max_val = float('-inf')
best_info = None
for line_idx, row in enumerate(terrain):
if not row:
continue
i = 0
while i < len(row):
j = i
while j < len(row) and row[j] == row[i]:
j += 1
length = j - i
val = row[i]
start_idx = i
end_idx = j - 1
if length > max_len or (length == max_len and val > max_val):
max_len = length
max_val = val
best_info = (line_idx + 1, start_idx, end_idx, val)
i = j
if best_info:
print(f"Строка {best_info[0]}, индексы {best_info[1]}-{best_info[2]}, высота {best_info[3]}")
# Задача 28*
word_docs = {}
with open("files_list.txt", "r", encoding="utf-8") as f:
file_names = [line.strip() for line in f if line.strip()]
for fname in file_names:
try:
with open(fname, "r", encoding="utf-8") as doc:
text = doc.read()
raw_words = text.split()
unique_words = set("".join(c for c in w if c.isalnum()).lower() for w in raw_words)
for w in unique_words:
if w:
word_docs[w] = word_docs.get(w, 0) + 1
except FileNotFoundError:
continue
sorted_words = sorted(word_docs.items(), key=lambda x: (-x[1], x[0]))
for word, count in sorted_words:
print(f"{word}: {count}")
# Задача 29*
key_matrix = []
with open("key.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
key_matrix.append(list(map(int, line.split())))
k = len(key_matrix)
with open("secret.txt", "r", encoding="utf-8") as f:
text = f.read()
ascii_codes = [ord(c) for c in text]
while len(ascii_codes) % k != 0:
ascii_codes.append(32)
encrypted = []
for i in range(0, len(ascii_codes), k):
block = ascii_codes[i:i + k]
for row in key_matrix:
dot_product = sum(row[j] * block[j] for j in range(k))
encrypted.append(dot_product)
print(*encrypted)
# Задача 30*
points = []
with open("points.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
parts = line.replace("[", "").replace("]", "").replace(",", " ").split()
if len(parts) >= 2:
points.append((float(parts[0]), float(parts[1])))
centroids = []
with open("centroids.txt", "r", encoding="utf-8") as f:
for line in f:
if line.strip():
parts = line.replace("[", "").replace("]", "").replace(",", " ").split()
if len(parts) >= 2:
centroids.append((float(parts[0]), float(parts[1])))
clusters = [[] for _ in range(len(centroids))]
for px, py in points:
best_dist = float('inf')
best_c_idx = 0
for c_idx, (cx, cy) in enumerate(centroids):
dist = (px - cx) ** 2 + (py - cy) ** 2
if dist < best_dist:
best_dist = dist
best_c_idx = c_idx
clusters[best_c_idx].append((px, py))
new_centroids = []
for c_idx, group in enumerate(clusters):
if group:
avg_x = sum(pt[0] for pt in group) / len(group)
avg_y = sum(pt[1] for pt in group) / len(group)
new_centroids.append((avg_x, avg_y))
else:
new_centroids.append(centroids[c_idx])
for cx, cy in new_centroids:
formatted_x = int(cx) if cx.is_integer() else round(cx, 2)
formatted_y = int(cy) if cy.is_integer() else round(cy, 2)
print(f"[{formatted_x}, {formatted_y}]")