Bonjour. C'est moelleux et moelleux. Nous résoudrons l'introduction aux algorithmes et aux structures de données d'AOJ. Il est facile de garder une trace de ce que vous avez appris.
Cela fait moins d'un an et demi que j'ai commencé à toucher la programmation moi-même AtCoder est vert, donc je ne suis pas un homme fort. Travaillons dur ensemble.
rendre possible avec Pai-chan
Cette fois PART3: Structure de données de base. Je veux faire de mon mieux et le faire jusqu'au bout.
ALDS1_3_A: Pile ALDS1_3_B: File d'attente ALDS1_3_C: liste concaténée bidirectionnelle ALDS1_3_D : Areas on the Cross-Section Diagram
pile ~
a = list(map(str,input().split()))
l = []
for i in a:
if i=="+":
a1 = l.pop()
a2 = l.pop()
a3 = a1+a2
l.append(a3)
elif i=="-":
a1 = l.pop()
a2 = l.pop()
a3 = a2-a1
l.append(a3)
elif i=="*":
a1 = l.pop()
a2 = l.pop()
a3 = a1*a2
l.append(a3)
else:
l.append(int(i))
print(l[0])
Utilisons deque
from collections import deque
n,q = map(int,input().split())
l = [list(map(str,input().split())) for _ in range(n)]
time = 0
dq = deque(l)
while dq:
a,b = dq.popleft()
if int(b)<= q:
time += int(b)
print(a,time)
else:
time += q
b = int(b) - q
dq.append([a,b])
Fondamentalement calculé avec deque En Python, si vous ne faites pas les deux points suivants, cela deviendra TLE ・ Il est plus rapide de définir l'entrée par vous-même ・ Si vous n'avez pas besoin d'index, pour a in d: est plus rapide
from collections import deque
import sys
input = sys.stdin.readline
n = int(input())
d = deque([])
for _ in range(n):
a = list(map(str,input().split()))
if a[0]=="insert":
d.appendleft(a[1])
elif a[0]=="delete":
if a[1] in d:
d.remove(a[1])
elif a[0]=="deleteFirst":
s = d.popleft()
elif a[0]=="deleteLast":
s = d.pop()
print(*d)
ALDS1_3_D : Areas on the Cross-Section Diagram
Il n'a pas encore fondu ... Pien
Je le mettrai à jour lorsque D. fondra. Je ne fumerai pas
Recommended Posts