[PYTHON] AtCoder DISCO présente son record de participation qualificative au Discovery Channel Code Contest 2020

AtCoder DISCO présente son record de participation qualificative au Discovery Channel Code Contest 2020

A - DDCC Finals

Percer en 4 minutes. Il suffit d'écrire. L'ARC est-il un problème si facile?

X, Y = map(int, input().split())


def f(n):
    if n == 3:
        return 100000
    elif n == 2:
        return 200000
    elif n == 1:
        return 300000
    else:
        return 0


result = f(X) + f(Y)
if X == 1 and Y == 1:
    result += 400000
print(result)

B - Iron Bar Cutting

Percer en 26 minutes.1 WA.

En supposant que la position de la coupe est p et que la longueur de la tige est l, si p est à gauche du centre, la différence de longueur est à gauche.(l - p) - p = l -Ajouter 2p ou l sur la droite-Besoin de réduire 2p.De même, si p est à droite du milieu, alors 2p à droite-l Ajouter ou 2p sur la gauche-j'ai besoin de réduire.Après tout|2p - l|Cela devient le coût de, et vous pouvez trouver le coût requis à chaque pause et prendre la valeur minimale..

N = int(input())
A = list(map(int, input().split()))

a = A[:-1]
for i in range(1, N - 1):
    a[i] += a[i - 1]

l = sum(A)
print(min(abs(p + p - l) for p in a))

Je n'ai pas tout calculé au début, mais j'ai écrit pour calculer les deux du milieu, alors j'ai mangé WA ... Il n'y a pas de problème avec la quantité de calcul, donc j'aurais dû tout calculer docilement.

C - Strawberry Cakes

Impossible de percer. AC. 12 minutes et demie après la fin.

La politique est de commencer avec la fraise, d'étendre la zone vers la gauche, le haut et la droite à moins qu'elle ne touche, et de copier le haut vers la dernière partie restante.

H, W, K = map(int, input().split())
s = [input() for _ in range(H)]

a = [[-1] * W for _ in range(H)]

sbs = []
n = 1
for i in range(H):
    si = s[i]
    for j in range(W):
        if si[j] == '#':
            a[i][j] = n
            n += 1
            sbs.append((i, j))

for sb in sbs:
    i, j = sb
    n = a[i][j]
    t, l = i - 1, j - 1
    r = j + 1
    while t > -1:
        if a[t][j] != -1:
            break
        t -= 1
    t += 1
    while l > -1:
        if a[i][l] != -1:
            break
        l -= 1
    l += 1
    while r < W:
        if a[i][r] != -1:
            break
        r += 1
    r -= 1
    for y in range(t, i + 1):
        ay = a[y]
        for x in range(l, r + 1):
            ay[x] = n

for h in range(H - 1, -1, -1):
    if a[h][0] != -1:
        break
h += 1

for i in range(h, H):
    ai1 = a[i - 1]
    ai = a[i]
    for j in range(W):
        ai[j] = ai1[j]

for i in range(H):
    print(*a[i])

Recommended Posts

AtCoder DISCO présente son record de participation qualificative au Discovery Channel Code Contest 2020
AtCoder 6th Challenge de Dwango Entrée préliminaire
yukicoder contest 265 Record de participation
concours yukicoder 266 Record de participation
yukicoder contest 263 Record de participation
concours yukicoder 243 Record de participation
concours yukicoder 252 Record de participation
concours yukicoder 259 Record de participation
concours yukicoder 249 Record de participation
concours yukicoder 271 Record de participation
Concours yukicoder 251 Record de participation
yukicoder contest 242 Record de participation
concours yukicoder 241 Record de participation
yukicoder contest 257 Record de participation
Concours yukicoder 254 Record de participation
yukicoder contest 246 Record de participation
concours yukicoder 275 Record de participation
Concours yukicoder 274 Record de participation
concours yukicoder 247 Record de participation
yukicoder contest 261 Record de participation
yukicoder contest 248 Record de participation
AtCoder Beginner Contest 181 Rapport de participation
AtCoder Beginner Contest 161 Rapport de participation
AtCoder Beginner Contest 151 Rapport de participation
AtCoder Débutant Contest 176 Rapport de participation
AtCoder Beginner Contest 154 Rapport de participation
Note de participation au concours pour débutants AtCoder # 003
AtCoder Grand Contest 041 Rapport de participation
AtCoder Beginner Contest 166 Rapport de participation
AtCoder Grand Contest 040 Rapport de participation
yukicoder contest 270 (concours de mathématiques) Record de participation
AtCoder Beginner Contest 145 Rapport de participation
AtCoder Débutant Contest 184 Rapport de participation
AtCoder Beginner Contest 165 Rapport de participation
Rapport de participation au concours AtCoder Débutant 160
AtCoder Beginner Contest 169 Rapport de participation
AtCoder Beginner Contest 159 Rapport de participation
AtCoder Beginner Contest 164 Rapport de participation
Rapport de participation au concours régulier AtCoder 105
AtCoder Beginner Contest 168 Rapport de participation
Rapport de participation au concours AtCoder Débutant 150
AtCoder Beginner Contest 158 Rapport de participation
Rapport de participation au concours AtCoder Débutant 180
AtCoder Regular Contest 104 Rapport de participation
AtCoder Beginner Contest 156 Rapport de participation
AtCoder Beginner Contest 162 Rapport de participation
AtCoder Débutant Contest 157 Rapport de participation
AtCoder Beginner Contest 167 Rapport de participation
AtCoder Débutant Contest 179 Rapport de participation
Concours AtCoder Débutant 182
AtCoder Beginner Contest 146 Rapport de participation
AtCoder Beginner Contest 152 Rapport de participation
AtCoder Beginner Contest 171 Rapport de participation
AtCoder Beginner Contest 149 Rapport de participation
AtCoder Beginner Contest 148 Rapport de participation
Journal de participation Atcoder Beginner Contest 146
AtCoder Chokudai Contest 005 Rapport de participation