AtCoder ABC 114 C-755 mit Python3 gelöst

Ich habe versucht, das 755 C-Problem von AtCoder in Python zu lösen. Dies ist ein leicht zu lösendes Problem, das mit einer rekursiven Funktion gelöst werden kann.

Ich bezog mich auf einen Artikel von Herrn Kencho, der in der japanischen Welt der Wettbewerbsprogramme bekannt ist. Referenzartikel: https://drken1215.hatenablog.com/entry/2019/04/03/125400

Es ist immer noch umständlich, daher fiel es mir schwer, den Unterschied zwischen einem logischen Operator und einem Bitoperator zu verstehen. Klicken Sie hier für Artikel, die mir geholfen haben, diese ↓ zu verstehen http://ings.sakura.ne.jp/prog/bitoperator.html

N = int(input())

def func(cur, use, counter):
  if cur > N: return
  if use == 0b111: counter.append(1)  #Erhöhen Sie die Antwort
    
  #Addiere 7
  func(cur * 10 + 7, use | 0b001, counter)
  #Addiere 5
  func(cur * 10 + 5, use | 0b010, counter)
  #Addiere 3
  func(cur * 10 + 3, use | 0b100, counter)
  
res = []
func(0, 0, res)
print(sum(res))

Das Ergebnis sieht so aus. Ich konnte sicher AC. Screen Shot 2020-05-10 at 13.42.52.png

Recommended Posts

AtCoder ABC 114 C-755 mit Python3 gelöst
Löse AtCoder ABC166 mit Python
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Löse ABC163 A ~ C mit Python
Löse ABC168 A ~ C mit Python
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
AtCoder ABC 175 Python
[AtCoder Erklärung] Kontrollieren Sie ABC180 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC158 A, B, C Probleme mit Python!
Lösen mit Ruby und Python AtCoder ABC011 C Dynamische Planungsmethode
[AtCoder Erklärung] Kontrollieren Sie ABC164 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC168 A, B, C Probleme mit Python!
[AtCoder] Löse ABC1 ~ 100 Ein Problem mit Python
Löse AtCoder ABC168 mit Python (A ~ D)
Löse AtCoder 167 mit Python
ABC147 C --HonestOrUnkind2 [Python]
[AtCoder-Kommentar] Gewinnen Sie mit Python das ABC165 C-Problem "Many Requirements"!
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 065 C-te Potenz
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
AtCoder ABC110 C-String-Manipulation zum Lösen in Ruby
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B- und C-Probleme von ABC182 mit Python!
Lösen mit Ruby und Python AtCoder ABC172 C Kumulative Summen-Dichotomie
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 047 C Regulärer Ausdruck
[AtCoder Erklärung] Kontrollieren Sie ABC184 A, B, C Probleme mit Python!
AtCoder ABC 177 Python (A ~ E)
Hellblau mit AtCoder @Python
AtCoder ABC 178 Python (A ~ E)
Atcoder ABC164 A-C in Python
ABC-Memorandum [ABC163 C --managementr] (Python)
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
AtCoder ABC 182 Python (A ~ D)
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
Löse den Atcoder ABC176 (A, B, C, E) in Python
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B-, (C), D-Probleme von ABC165 mit Python!
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B-, C- und D-Probleme von ABC181 mit Python!
ABC-Memorandum [ABC159 C - Maximales Volumen] (Python)
Rufen Sie C von Python mit DragonFFI auf
Erstellen Sie Awaitable mit der Python / C-API
Lösen mit Ruby und Python AtCoder ABC178 D Dynamische Planungsmethode
ABC127 A, B, C Erklärung (Python)
Lösen mit Ruby und Python AtCoder ABC151 D Suche nach Breitenpriorität
atCoder 173 Python
Löse ABC166 A ~ D mit Python
Lösen mit Ruby und Python AtCoder ABC133 D Kumulative Summe
ABC166 in Python A ~ C Problem
Löse den Atcoder ABC169 A-D mit Python
Atcoder ABC125 C - GCD auf Tafel
ABC-Memorandum [ABC161 C - Integer ersetzen] (Python)