Add 29-01-2024
This commit is contained in:
parent
37e4348b8d
commit
a3729938ec
14
29-01-24/division.py
Normal file
14
29-01-24/division.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
count = input()
|
||||||
|
for i in range(int(count)):
|
||||||
|
line = int(input())
|
||||||
|
|
||||||
|
if line >= 1900:
|
||||||
|
div=1
|
||||||
|
elif line >= 1600:
|
||||||
|
div=2
|
||||||
|
elif line >= 1400:
|
||||||
|
div=3
|
||||||
|
else:
|
||||||
|
div=4
|
||||||
|
|
||||||
|
print(f"Division {div}")
|
15
29-01-24/football.py
Normal file
15
29-01-24/football.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
def main():
|
||||||
|
nb = input()
|
||||||
|
team = "0"
|
||||||
|
count = 0
|
||||||
|
for i in nb:
|
||||||
|
if i != team:
|
||||||
|
team = i
|
||||||
|
count = 0
|
||||||
|
count += 1
|
||||||
|
if count >= 7:
|
||||||
|
print("YES")
|
||||||
|
return
|
||||||
|
print("NO")
|
||||||
|
|
||||||
|
main()
|
23
29-01-24/gratitude.py
Normal file
23
29-01-24/gratitude.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
def main():
|
||||||
|
N, K = [int(i) for i in input().split()]
|
||||||
|
things = [input() for _ in range(3*N)]
|
||||||
|
|
||||||
|
occ = {}
|
||||||
|
|
||||||
|
for i in range(len(things)):
|
||||||
|
t = things[i]
|
||||||
|
if t not in occ:
|
||||||
|
occ[t] = (0, i)
|
||||||
|
occ[t] = (occ[t][0]+1, i)
|
||||||
|
|
||||||
|
# nb d'apparition, date de première apparition, texte
|
||||||
|
data = [(occ[i][0], occ[i][1], i) for i in occ.keys()]
|
||||||
|
data.sort(key=lambda x: (x[0], x[1]), reverse=True)
|
||||||
|
|
||||||
|
cursor = 0
|
||||||
|
while cursor < K and cursor < len(data):
|
||||||
|
print(data[cursor][2])
|
||||||
|
cursor += 1
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
20
29-01-24/improve_it.py
Normal file
20
29-01-24/improve_it.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
def main():
|
||||||
|
N, M = [int(i) for i in input().split()]
|
||||||
|
values = [[int(i) for i in input().split()] for _ in range(N)]
|
||||||
|
values.append([0, 0])
|
||||||
|
|
||||||
|
# best buy without sell at month 0
|
||||||
|
bests = {0: values[0][0]}
|
||||||
|
|
||||||
|
for i in range(len(values)):
|
||||||
|
for j in range(i-M, i):
|
||||||
|
if j in bests.keys():
|
||||||
|
if i not in bests.keys():
|
||||||
|
bests[i] = bests[j] - values[j][i-j] + values[i][0]
|
||||||
|
else:
|
||||||
|
bests[i] = min(bests[j] - values[j][i-j]+ values[i][0], bests[i])
|
||||||
|
|
||||||
|
print(bests[N])
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
48
29-01-24/king_escape.py
Normal file
48
29-01-24/king_escape.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import heapq
|
||||||
|
|
||||||
|
def is_blocked(d, ax, ay):
|
||||||
|
dx, dy = d
|
||||||
|
if dx == ax or dy == ay:
|
||||||
|
return True
|
||||||
|
if abs(dx-ax) == abs(dy-ay):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def valid(v, n):
|
||||||
|
return v[0] > 0 and v[1] > 0 and v[0] <= n and v[1] <= n
|
||||||
|
|
||||||
|
def dist(v, cx, cy):
|
||||||
|
return abs(v[0]-cx)**2+abs(v[1]-cy)**2
|
||||||
|
|
||||||
|
def main():
|
||||||
|
n = int(input())
|
||||||
|
ax, ay = [int(i) for i in input().split()] # queen
|
||||||
|
bx, by = [int(i) for i in input().split()] # king
|
||||||
|
cx, cy = [int(i) for i in input().split()] # dest
|
||||||
|
|
||||||
|
views = {(bx, by): 0}
|
||||||
|
|
||||||
|
queue = [(dist((bx, by), cx, cy), (bx, by))]
|
||||||
|
while queue:
|
||||||
|
prior, elem = heapq.heappop(queue)
|
||||||
|
|
||||||
|
if elem == (cx, cy):
|
||||||
|
print("YES")
|
||||||
|
return
|
||||||
|
|
||||||
|
voisins = []
|
||||||
|
for i in range(-1, 2):
|
||||||
|
for j in range(-1, 2):
|
||||||
|
v = (elem[0]+i, elem[1]+j)
|
||||||
|
if valid(v, n) and v not in views.keys():
|
||||||
|
voisins.append(v)
|
||||||
|
views.append(v)
|
||||||
|
|
||||||
|
for v in voisins:
|
||||||
|
if not is_blocked(v, ax, ay):
|
||||||
|
heapq.heappush(queue, (dist(v, cx, cy), v))
|
||||||
|
|
||||||
|
print("NO")
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
16
29-01-24/king_escape2.py
Normal file
16
29-01-24/king_escape2.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
def main():
|
||||||
|
n = int(input())
|
||||||
|
ax, ay = [int(i) for i in input().split()] # queen
|
||||||
|
bx, by = [int(i) for i in input().split()] # king
|
||||||
|
cx, cy = [int(i) for i in input().split()] # dest
|
||||||
|
|
||||||
|
if (bx > ax and ax > cx) or (cx > ax and ax > bx):
|
||||||
|
print("NO")
|
||||||
|
return
|
||||||
|
|
||||||
|
if (by > ay and ay > cy) or (cy > ay and ay > by):
|
||||||
|
print("NO")
|
||||||
|
return
|
||||||
|
print("YES")
|
||||||
|
|
||||||
|
main()
|
20
29-01-24/lights.py
Normal file
20
29-01-24/lights.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
def main():
|
||||||
|
N = int(input())
|
||||||
|
K = int(input())
|
||||||
|
ilist = [int(input()) for _ in range(K)]
|
||||||
|
nb = 0
|
||||||
|
|
||||||
|
lights = [True for _ in range(N+1)]
|
||||||
|
|
||||||
|
for j in range(K):
|
||||||
|
l = 1
|
||||||
|
i = ilist[j]
|
||||||
|
while i*l <= N:
|
||||||
|
lights[i*l] = not lights[i*l]
|
||||||
|
l+=1
|
||||||
|
|
||||||
|
nb = max(nb, len([0 for a in lights if not a]))
|
||||||
|
print(nb)
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
17
29-01-24/magic.py
Normal file
17
29-01-24/magic.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
def main():
|
||||||
|
nb = input("")
|
||||||
|
poss = ["144", "14", "1"]
|
||||||
|
while nb != "":
|
||||||
|
ok = False
|
||||||
|
for i in poss:
|
||||||
|
if nb.startswith(i):
|
||||||
|
nb = nb[len(i):]
|
||||||
|
ok = True
|
||||||
|
break
|
||||||
|
if not ok:
|
||||||
|
print("NO")
|
||||||
|
return
|
||||||
|
print("YES")
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
25
29-01-24/stages.py
Normal file
25
29-01-24/stages.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
def weight(c):
|
||||||
|
return ord(c)-ord('a')+1
|
||||||
|
|
||||||
|
def main():
|
||||||
|
n, k, = [int(i) for i in input().split()]
|
||||||
|
string = [i for i in input()]
|
||||||
|
string.sort(key=weight)
|
||||||
|
|
||||||
|
total_weight = 0
|
||||||
|
last_weight = -1
|
||||||
|
curr = 0
|
||||||
|
for i in string:
|
||||||
|
if curr == k:
|
||||||
|
break
|
||||||
|
if weight(i) > last_weight+1:
|
||||||
|
total_weight += weight(i)
|
||||||
|
last_weight = weight(i)
|
||||||
|
curr += 1
|
||||||
|
if curr == k:
|
||||||
|
print(total_weight)
|
||||||
|
else:
|
||||||
|
print(-1)
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
BIN
29-01-24/sujet.pdf
Normal file
BIN
29-01-24/sujet.pdf
Normal file
Binary file not shown.
29
29-01-24/sum.c
Normal file
29
29-01-24/sum.c
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int max(int a, int b) {
|
||||||
|
return a > b ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
|
int is_sum(int a, int b, int c) {
|
||||||
|
return a+b+c == max(a, max(b, c))*2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int count;
|
||||||
|
scanf("%d", &count);
|
||||||
|
|
||||||
|
int a, b, c;
|
||||||
|
|
||||||
|
for (int i=0; i < count; i++) {
|
||||||
|
scanf("%d %d %d", &a, &b, &c);
|
||||||
|
if (is_sum(a, b, c)) {
|
||||||
|
printf("YES\n");
|
||||||
|
} else {
|
||||||
|
printf("NO\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
9
29-01-24/sum.py
Normal file
9
29-01-24/sum.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
count = input("")
|
||||||
|
for i in range(int(count)):
|
||||||
|
line = input("").split()
|
||||||
|
numbers = [int(i) for i in line]
|
||||||
|
numbers.sort()
|
||||||
|
if numbers[2] == numbers[0]+numbers[1]:
|
||||||
|
print("YES")
|
||||||
|
else:
|
||||||
|
print("NO")
|
Loading…
Reference in New Issue
Block a user