Questions passées résolues pour la première fois
Je suis déçu de ne pouvoir résoudre le problème C que ces deux dernières fois. Je veux pouvoir résoudre les problèmes de difficulté bleu clair et bleu.
Tel quel
answerA.py
a,b,c=map(int,input().split())
if b-a==c-b:
print("YES")
else:
print("NO")
Ce n'est pas grave si vous modifiez la sortie par hasard
answerB.py
o=input()
lo=len(o)
e=input()
le=len(e)
for i in range(lo+le):
if i%2==0:
print(o[i//2],end="")
else:
print(e[i//2],end="")
print()
Puisqu'il est nécessaire de le faire dans l'ordre lexical à la fin, créez d'abord un tableau d'alphabets, découvrez combien il y en a et sortez-les ensemble à la fin. De plus, comme nous comptons les choses communes, nous devons prendre min, nous devons donc faire attention là aussi. C'est très pratique car vous pouvez utiliser intuitivement Python et les chaînes de caractères.
answerC.py
alp=[chr(i) for i in range(97, 97+26)]
inf=10000000
check=[inf]*26
n=int(input())
for i in range(n):
s=input()
ls=len(s)
check_sub=[0]*26
for j in range(ls):
#print(s[j])
check_sub[alp.index(s[j])]+=1
for k in range(26):
check[k]=min(check[k],check_sub[k])
#print(check_sub)
ans=""
for i in range(26):
#print(check[i])
ans+=check[i]*alp[i]
print(ans)
C'était un problème qui pouvait être résolu en peu de temps, mais je l'ai manqué à cause d'un malentendu. (Je n'ai pas réalisé que ** s'il n'y a pas d'erreur dans le code, alors il y a une erreur dans ma considération ** ...) Ci-dessous, je voudrais mettre ce que j'ai écrit sur papier comme ma propre considération. De plus, commenter dans le code est un code basé sur vos propres erreurs.
** J'ai fait une erreur avec les bases de comptage de compter toutes les choses possibles sans duplication **. A partir de maintenant, je veux dire à mon cœur de ne pas se tromper dans ce basique.
answerD.py
mod=1000000007
n,m=map(int,input().split())
x=[int(i) for i in input().split()]
y=[int(i) for i in input().split()]
xc=0
for i in range(1,n):
a=x[i]-x[i-1]
l=min(i,n-i)
#xc+=a*(l*n-((l*l+l)//2))
xc+=a*(l*(n-l))
xc%=mod
yc=0
for i in range(1,m):
a=y[i]-y[i-1]
l=min(i,m-i)
#yc+=a*(l*m-((l*l+l)//2))
yc+=a*(l*(m-l))
yc%=mod
print((xc*yc)%mod)
Recommended Posts