chore: init with current solutions
This commit is contained in:
commit
21e6d3de32
26 changed files with 475 additions and 0 deletions
9
solutions/ab_again.py
Normal file
9
solutions/ab_again.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
n = list(input())
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
for i in n:
|
||||||
|
count += int(i)
|
||||||
|
print(count)
|
7
solutions/black_square.py
Normal file
7
solutions/black_square.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
a = input().split(' ')
|
||||||
|
s = input()
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
for i in s:
|
||||||
|
count += int(a[int(i)-1])
|
||||||
|
print(count)
|
8
solutions/boring_apartments.py
Normal file
8
solutions/boring_apartments.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
resident = input()
|
||||||
|
pressed = 0
|
||||||
|
|
||||||
|
pressed += int((int(resident[0])-1)*10 + (len(resident)/2)*(len(resident)+1))
|
||||||
|
print(pressed)
|
8
solutions/creating_words.py
Normal file
8
solutions/creating_words.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
a, b = [list(x) for x in input().split()]
|
||||||
|
|
||||||
|
a[0], b[0] = b[0], a[0]
|
||||||
|
|
||||||
|
print(''.join(c for c in a),''.join(c for c in b))
|
21
solutions/do_not_be_distracted.py
Normal file
21
solutions/do_not_be_distracted.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import string, itertools
|
||||||
|
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
n = int(input())
|
||||||
|
s = input()
|
||||||
|
|
||||||
|
filtered = []
|
||||||
|
|
||||||
|
s = ''.join(i for i, _ in itertools.groupby(s))
|
||||||
|
|
||||||
|
check = True
|
||||||
|
for i in string.ascii_uppercase:
|
||||||
|
if s.count(i) > 1:
|
||||||
|
check = False
|
||||||
|
break
|
||||||
|
if check:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
14
solutions/fair_division.py
Normal file
14
solutions/fair_division.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
count = int(input())
|
||||||
|
weights = [int(x) for x in input().split(" ")]
|
||||||
|
|
||||||
|
if count % 2 != 0 and min(weights) == max(weights):
|
||||||
|
print("NO")
|
||||||
|
continue
|
||||||
|
elif sum(weights) % 2 != 0:
|
||||||
|
print("NO")
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
print("YES")
|
14
solutions/games.py
Normal file
14
solutions/games.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
n = int(input())
|
||||||
|
|
||||||
|
uniforms = []
|
||||||
|
|
||||||
|
for _ in range(n):
|
||||||
|
h, a = input().split(' ')
|
||||||
|
uniforms.append([h,a])
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
for idx_i, i in enumerate(uniforms):
|
||||||
|
for idx_j, j in enumerate(uniforms):
|
||||||
|
if idx_i != idx_j and i[0] == j[1]:
|
||||||
|
count += 1
|
||||||
|
print(count)
|
7
solutions/in_search_of_an_easy_problem.py
Normal file
7
solutions/in_search_of_an_easy_problem.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
n = input()
|
||||||
|
opinions = [int(x) for x in input().split(' ')]
|
||||||
|
|
||||||
|
if 1 in opinions:
|
||||||
|
print("HARD")
|
||||||
|
else:
|
||||||
|
print("EASY")
|
10
solutions/love_story.py
Normal file
10
solutions/love_story.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
s = "codeforces"
|
||||||
|
for _ in range(t):
|
||||||
|
indices = 0
|
||||||
|
case = input()
|
||||||
|
for i in range(len(case)):
|
||||||
|
if case[i] != s[i]:
|
||||||
|
indices += 1
|
||||||
|
print(indices)
|
26
solutions/minimal_square.py
Normal file
26
solutions/minimal_square.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
sizes = []
|
||||||
|
|
||||||
|
def square(size):
|
||||||
|
size.sort()
|
||||||
|
if size[0] == size[1]:
|
||||||
|
return (size[0]*2)**2
|
||||||
|
if size[0]*2 <= size[1]:
|
||||||
|
return max(size)**2
|
||||||
|
while size[1] % size[0] != 0:
|
||||||
|
size[1] += 1
|
||||||
|
return size[1]**2;
|
||||||
|
|
||||||
|
for i in range(t):
|
||||||
|
size = [int(x) for x in input().split(" ")]
|
||||||
|
print(square(size))
|
||||||
|
|
||||||
|
"""
|
||||||
|
def check():
|
||||||
|
for i in range(1, 101):
|
||||||
|
for j in range(1, 101):
|
||||||
|
if square([i,j]) == 36 and i != 6 and j != 6:
|
||||||
|
print(i,j)
|
||||||
|
check()
|
||||||
|
"""
|
10
solutions/minimize.py
Normal file
10
solutions/minimize.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
a,b = [int(x) for x in input().split(" ")]
|
||||||
|
minimum = b
|
||||||
|
for c in range(a,b+1):
|
||||||
|
value = (c-a)+(b-c)
|
||||||
|
if value < minimum:
|
||||||
|
minimum = value
|
||||||
|
print(minimum)
|
19
solutions/mishka_and_game.py
Normal file
19
solutions/mishka_and_game.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
n = int(input())
|
||||||
|
|
||||||
|
mishka = 0
|
||||||
|
chris = 0
|
||||||
|
|
||||||
|
for _ in range(n):
|
||||||
|
m, c = [int(x) for x in input().split(' ')]
|
||||||
|
|
||||||
|
if m > c:
|
||||||
|
mishka += 1
|
||||||
|
elif c > m:
|
||||||
|
chris += 1
|
||||||
|
|
||||||
|
if mishka > chris:
|
||||||
|
print("Mishka")
|
||||||
|
elif chris > mishka:
|
||||||
|
print("Chris")
|
||||||
|
else:
|
||||||
|
print("Friendship is magic!^^")
|
14
solutions/pangram.py
Normal file
14
solutions/pangram.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import string
|
||||||
|
|
||||||
|
n = input()
|
||||||
|
s = input().lower()
|
||||||
|
|
||||||
|
check = True
|
||||||
|
for i in string.ascii_lowercase:
|
||||||
|
if s.count(i) == 0:
|
||||||
|
check = False
|
||||||
|
|
||||||
|
if check:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
7
solutions/plus_one_on_the_subset.py
Normal file
7
solutions/plus_one_on_the_subset.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
n = input()
|
||||||
|
a = [int(n) for n in input().split(' ')]
|
||||||
|
|
||||||
|
print(max(a)-min(a))
|
16
solutions/polycarp_and_coins.py
Normal file
16
solutions/polycarp_and_coins.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
def check(c1,c2):
|
||||||
|
if c1+(2*c2) != n:
|
||||||
|
if (c1+1)+(2*c2) == n:
|
||||||
|
return c1+1,c2
|
||||||
|
elif c1+(2*(c2+1)) == n:
|
||||||
|
return c1,c2+1
|
||||||
|
else:
|
||||||
|
return c1,c2
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
n = int(input())
|
||||||
|
c1,c2 = [n//3, n//3]
|
||||||
|
|
||||||
|
print(' '.join(str(x) for x in check(c1,c2)))
|
11
solutions/required_remainder.py
Normal file
11
solutions/required_remainder.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
x, y, n=[int(x) for x in input().split()]
|
||||||
|
k=n % x
|
||||||
|
if k > y:
|
||||||
|
print(n-k+y)
|
||||||
|
elif k == y:
|
||||||
|
print(n)
|
||||||
|
else:
|
||||||
|
print(n-k-x+y)
|
66
solutions/rust/1881A.rs
Normal file
66
solutions/rust/1881A.rs
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn share_char(a: &str, b: &str) -> bool {
|
||||||
|
let set_a: Vec<char> = a.chars().collect();
|
||||||
|
let set_b: Vec<char> = b.chars().collect();
|
||||||
|
|
||||||
|
let mut check = true;
|
||||||
|
for i in set_a.iter() {
|
||||||
|
let mut subcheck = false;
|
||||||
|
for j in set_b.iter() {
|
||||||
|
if i == j {
|
||||||
|
subcheck = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if subcheck == false {
|
||||||
|
check = false;
|
||||||
|
} else {
|
||||||
|
check = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
check
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut t = String::new();
|
||||||
|
io::stdin().read_line(&mut t).unwrap();
|
||||||
|
|
||||||
|
let mut strings: Vec<[String; 2]> = vec![];
|
||||||
|
|
||||||
|
for _ in 1..=t.trim().parse::<u64>().unwrap() {
|
||||||
|
let mut nm = String::new();
|
||||||
|
io::stdin().read_line(&mut nm).unwrap();
|
||||||
|
|
||||||
|
let nm_vec: Vec<&str> = nm.trim().split_whitespace().collect();
|
||||||
|
|
||||||
|
let mut nm_array: [u64; 2] = [0, 0];
|
||||||
|
for i in 0..=1 {
|
||||||
|
nm_array[i] = nm_vec[i].parse::<u64>().unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut string_vec: [String; 2] = [String::new(), String::new()];
|
||||||
|
for i in 0..=1 {
|
||||||
|
let mut string = String::new();
|
||||||
|
io::stdin().read_line(&mut string).unwrap();
|
||||||
|
string_vec[i] = string.trim().to_string();
|
||||||
|
}
|
||||||
|
strings.push(string_vec);
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in 0..strings.len() {
|
||||||
|
if !share_char(&strings[i][0], &strings[i][1]) {
|
||||||
|
println!("-1");
|
||||||
|
} else {
|
||||||
|
let mut counter = 0;
|
||||||
|
while !strings[i][0].contains(&strings[i][1]) {
|
||||||
|
strings[i][0] = strings[i][0].repeat(2);
|
||||||
|
counter += 1;
|
||||||
|
if counter > 25 {
|
||||||
|
counter = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
println!("{}", counter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
40
solutions/rust/1968A.rs
Normal file
40
solutions/rust/1968A.rs
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn gcd(a: u64, b: u64) -> u64 {
|
||||||
|
let mut set: [u64; 2] = [a, b];
|
||||||
|
while set[1] != 0 {
|
||||||
|
set = [set[1], set[0]%set[1]];
|
||||||
|
}
|
||||||
|
set[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut t = String::new();
|
||||||
|
io::stdin().read_line(&mut t).unwrap();
|
||||||
|
|
||||||
|
let mut inputs: Vec<u64> = vec![];
|
||||||
|
|
||||||
|
for _ in 1..=t.trim().parse::<u64>().unwrap() {
|
||||||
|
let mut case = String::new();
|
||||||
|
io::stdin().read_line(&mut case).unwrap();
|
||||||
|
inputs.push(case.trim().parse::<u64>().unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut outputs: Vec<u64> = vec![];
|
||||||
|
for i in inputs {
|
||||||
|
let mut maximum = 0;
|
||||||
|
let mut y = 0;
|
||||||
|
for j in 1..i {
|
||||||
|
let found = gcd(i,j)+j;
|
||||||
|
if found > maximum {
|
||||||
|
y = j;
|
||||||
|
maximum = found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
outputs.push(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in outputs {
|
||||||
|
println!("{}", i);
|
||||||
|
}
|
||||||
|
}
|
40
solutions/rust/2044B.rs
Normal file
40
solutions/rust/2044B.rs
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut t = String::new();
|
||||||
|
io::stdin().read_line(&mut t).unwrap();
|
||||||
|
|
||||||
|
let mut strings: Vec<String> = vec![];
|
||||||
|
|
||||||
|
for _ in 1..=t.trim().parse::<u64>().unwrap() {
|
||||||
|
let mut a = String::new();
|
||||||
|
io::stdin().read_line(&mut a).unwrap();
|
||||||
|
|
||||||
|
strings.push(a.trim().to_string());
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut outputs: Vec<String> = vec![];
|
||||||
|
|
||||||
|
for i in strings {
|
||||||
|
let original = i.chars().rev();
|
||||||
|
let mut new = String::new();
|
||||||
|
for j in original {
|
||||||
|
match j {
|
||||||
|
'q' => {
|
||||||
|
new.push_str("p");
|
||||||
|
},
|
||||||
|
'p' => {
|
||||||
|
new.push_str("q");
|
||||||
|
},
|
||||||
|
_ => {
|
||||||
|
new.push_str("w");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
outputs.push(new);
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in outputs {
|
||||||
|
println!("{}", i);
|
||||||
|
}
|
||||||
|
}
|
25
solutions/short_sort.py
Normal file
25
solutions/short_sort.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
s = input()
|
||||||
|
s = [s[0], s[1], s[2]]
|
||||||
|
original = s[:]
|
||||||
|
|
||||||
|
check = False
|
||||||
|
s[0], s[2] = s[2], s[0]
|
||||||
|
if ''.join(c for c in s) == "abc" or ''.join(c for c in original) == "abc":
|
||||||
|
check = True
|
||||||
|
else:
|
||||||
|
s = original[:]
|
||||||
|
s[0], s[1] = s[1], s[0]
|
||||||
|
if ''.join(c for c in s) == "abc":
|
||||||
|
check = True
|
||||||
|
else:
|
||||||
|
s = original[:]
|
||||||
|
s[1], s[2] = s[2], s[1]
|
||||||
|
if ''.join(c for c in s) == "abc":
|
||||||
|
check = True
|
||||||
|
if check:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
14
solutions/short_substrings.py
Normal file
14
solutions/short_substrings.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
b = list(input())
|
||||||
|
original = b[:]
|
||||||
|
b.pop(0)
|
||||||
|
b.pop(len(b)-1)
|
||||||
|
|
||||||
|
copied = []
|
||||||
|
for idx, i in enumerate(b):
|
||||||
|
if idx % 2 == 0:
|
||||||
|
copied.append(i)
|
||||||
|
|
||||||
|
print(f"{original[0]}{''.join(c for c in copied)}{original[len(original)-1]}")
|
16
solutions/spell_check.py
Normal file
16
solutions/spell_check.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
from itertools import permutations
|
||||||
|
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
perms = [''.join(x) for x in permutations("Timur", 5)]
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
n = int(input())
|
||||||
|
s = input()
|
||||||
|
|
||||||
|
if n != 5:
|
||||||
|
print("NO")
|
||||||
|
elif s in perms:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
10
solutions/square_string.py
Normal file
10
solutions/square_string.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
t = int(input())
|
||||||
|
|
||||||
|
for _ in range(t):
|
||||||
|
s = input()
|
||||||
|
if len(s) % 2 != 0:
|
||||||
|
print("NO")
|
||||||
|
elif s[0:len(s)//2] == s[len(s)//2:len(s)]:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
8
solutions/theatre_square.py
Normal file
8
solutions/theatre_square.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
from math import ceil
|
||||||
|
|
||||||
|
n, m, a = [int(x) for x in input().split(' ')]
|
||||||
|
|
||||||
|
val1 = ceil(n/a)
|
||||||
|
val2 = ceil(m/a)
|
||||||
|
|
||||||
|
print(val1*val2)
|
10
solutions/way_too_long_words.py
Normal file
10
solutions/way_too_long_words.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
n = int(input())
|
||||||
|
|
||||||
|
for _ in range(n):
|
||||||
|
word = input()
|
||||||
|
|
||||||
|
if len(word) > 10:
|
||||||
|
output = word[0] + str(len(word)-2) + word[len(word)-1]
|
||||||
|
print(output)
|
||||||
|
else:
|
||||||
|
print(word)
|
45
solutions/winner.py
Normal file
45
solutions/winner.py
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
n = int(input())
|
||||||
|
|
||||||
|
scores = {}
|
||||||
|
orders = []
|
||||||
|
for _ in range(n):
|
||||||
|
name, score = input().split(' ')
|
||||||
|
|
||||||
|
orders.append([name, int(score)])
|
||||||
|
|
||||||
|
if name not in scores:
|
||||||
|
scores[name] = []
|
||||||
|
scores[name].append(int(score))
|
||||||
|
|
||||||
|
totals = []
|
||||||
|
|
||||||
|
for k,v in scores.items():
|
||||||
|
totals.append(sum(v))
|
||||||
|
|
||||||
|
winval = max(totals)
|
||||||
|
|
||||||
|
winners = [k for k,v in scores.items() if sum(v) == winval]
|
||||||
|
|
||||||
|
if len(winners) < 1:
|
||||||
|
print(winner[0])
|
||||||
|
else:
|
||||||
|
for idx, i in enumerate(orders):
|
||||||
|
if i[0] not in winners:
|
||||||
|
del orders[idx]
|
||||||
|
for idx, i in enumerate(orders):
|
||||||
|
if i[0] not in winners:
|
||||||
|
del orders[idx]
|
||||||
|
|
||||||
|
print(orders)
|
||||||
|
|
||||||
|
winner = ''
|
||||||
|
durations = {}
|
||||||
|
for i in orders:
|
||||||
|
if i[0] not in durations:
|
||||||
|
durations[i[0]] = 0
|
||||||
|
durations[i[0]] += i[1]
|
||||||
|
if durations[i[0]] == winval:
|
||||||
|
winner = i[0]
|
||||||
|
break
|
||||||
|
|
||||||
|
print(winner)
|
Loading…
Reference in a new issue