Vorlage AtCoder ABC 179 Python (A ~ E)

Zusammenfassung

Nur A und B wurden gelöst. Die Leistung ist in letzter Zeit zurückgegangen.

Problem

https://atcoder.jp/contests/abc179

A. Plural Form image.png

Antworten

S = input()

if S[-1] == 's':
    answer = S + 'es'
else:
    answer = S + 's'

print(answer)


Schreiben Sie gemäß der Problemstellung.

B. Go to Jail image.png

Antworten

N = int(input())
D = [tuple(map(int, input().split())) for _ in range(N)]

answer = 'No'

count = 0
for i in range(N):
    if D[i][0] != D[i][1]:
        count = 0
    else:
        count += 1
    
    if count == 3:
        answer = 'Yes'
        break

print(answer)

Es bestimmt die Ausrichtung und gibt `Ja``` zurück, wenn `count```` `` 3``` erreicht.

C. A x B + C image.png

Antworten

N = int(input())

answer = 0
for a in range(1, N):
    answer += (N-1) // a

print(answer)

In Anbetracht der Einschränkungen scheint es, dass die for-Schleife nur einmal gedreht werden kann. a * b + c = nVerwandelna * b = n - cDanna * b Es kann das Problem des Zählens der Anzahl von Kombinationen von genannt werden.

D. Leaping Tak image.png

Antworten

MOD = 998244353
N, K = map(int, input().split()) #N ist die Anzahl der Quadrate, K ist die Anzahl der Abschnitte(K ist 10 oder weniger)
kukan = [tuple(map(int, input().split())) for _ in range(K)]

dp = [0] * (N+1)
dp[1] = 1

sumdp = [0] * (N+1)
sumdp[1] = 1

for i in range(2, N+1):
    for l, r in kukan:
        li = max(i - l, 0)
        ri = max(i - r - 1, 0)

        dp[i] += sumdp[li] - sumdp[ri]
        dp[i] %= MOD

    sumdp[i] = sumdp[i-1] + dp[i]

print(dp[N])

Normalerweise ist die Einnahme von `dp``` nicht rechtzeitig, verwenden Sie also` dp und die kumulative Summe `` `sumdp.

E. Sequence Sum image.png

Antworten

N, X, M = map(int, input().split())
count_memo = [-1] * 10**6 #Anzahl der Noten
num_memo = [0] #Eine Notiz. 1 Index. 

a = X
count = 1
count_memo[a] = count
num_memo.append(a)
for i in range(1, N):
    a = a**2 % M
    if count_memo[a] == -1:
        count += 1
        count_memo[a] = count
        num_memo.append(a)
    else:
        break

if count == N: #Total, wenn vor dem Eintritt in den Zyklus fertig
    answer = sum(num_memo)
else:
    #Anzahl und Summe bis zum Eintritt in den Zyklus
    count_before_cycle = count_memo[a] - 1
    sum_before_cycle = sum(num_memo[:count_before_cycle+1])
    #Anzahl und Summe von 1 Zyklus
    count_cycle = count - count_before_cycle
    sum_cycle = sum(num_memo[count_before_cycle+1:])
    #Anzahl und Summe der verbleibenden Zyklen
    cycle_count = (N - count) // count_cycle
    sum_after_cycle = sum_cycle * cycle_count
    #Zu viele und total
    remain_count =  (N - count) % count_cycle
    sum_remain = sum(num_memo[count_before_cycle+1:count_before_cycle+1 + remain_count])

    answer = sum_before_cycle + sum_cycle + sum_after_cycle + sum_remain

print(answer)

aTritt irgendwo in den Zyklus ein. Deshalb,

  1. Vor dem Eintritt in den Zyklus
  2. Zyklus
  3. Zyklus wiederholen
  4. Zusätzliche Häufigkeit, die in der Mitte des Zyklus endet Teilen Sie in 4 Möglichkeiten und addieren Sie sie.

Recommended Posts

Vorlage AtCoder ABC 179 Python (A ~ E)
AtCoder ABC 177 Python (A ~ E)
AtCoder ABC 178 Python (A ~ E)
AtCoder ABC 176 Python (A ~ E)
AtCoder ABC 182 Python (A ~ D)
AtCoder ABC 174 Python
Löse den Atcoder ABC176 (A, B, C, E) in Python
AtCoder ABC 175 Python
[AtCoder] Löse ABC1 ~ 100 Ein Problem mit Python
Löse AtCoder ABC168 mit Python (A ~ D)
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Löse AtCoder ABC166 mit Python
Atcoder ABC164 A-C in Python
Löse ABC176 E in Python
Atcoder ABC167 A-D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
Überprüfung des Atcoders ABC158 bis Frage E (Python)
Löse ABC163 A ~ C mit Python
[AtCoder Erklärung] Kontrollieren Sie ABC180 A, B, C Probleme mit Python!
ABC127 A, B, C Erklärung (Python)
atCoder 173 Python
ABC166 in Python A ~ C Problem
Löse ABC168 A ~ C mit Python
[AtCoder Erklärung] Kontrollieren Sie ABC158 A, B, C Probleme mit Python!
[Python] Jetzt ein brauner Codierer ~ [AtCoder]
Lösen mit Ruby und Python AtCoder ABC153 E Dynamische Planungsmethode
AtCoder ABC176
AtCoder ABC 114 C-755 mit Python3 gelöst
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
ABC128 A, B, C Kommentar (Python)
Löse ABC158 A ~ C mit Python
ABC126 A, B, C Erklärung (Python)
Löse ABC037 A ~ C mit Python
AtCoder ABC177
AtCoder ABC168 Ein in Ruby und Python gelöster Fallausdruck
[AtCoder Erklärung] Kontrollieren Sie ABC164 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC168 A, B, C Probleme mit Python!
[Python] Jetzt ein grüner Codierer ~ [AtCoder]
Löse ABC175 A, B, C mit Python
[Python] [Erklärung] AtCoder Typischer DP-Wettbewerb: Ein Wettbewerb
Python-Anfänger Atcoder memo @ Keyence 2020, ABC-Problem
AtCoderBeginnerContest154 Teilnahmememo (Python, A ~ E-Problem)
Löse ABC165 A, B, D mit Python
Anfänger ABC154 (Python)
Anfänger ABC156 (Python)
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B- und C-Probleme von ABC182 mit Python!
Anfänger ABC155 (Python)
Python Argparse Vorlage
Anfänger ABC157 (Python)