C'est trop facile et c'est étrange. Après tout, le niveau d'ABC de nos jours est trop élevé ...
Si vous pouvez en ajouter de petits pour en faire un grand
answerA.py
x=list(map(int,input().split()))
x.sort()
if x[0]+x[1]==x[2]:
print("Yes")
else:
print("No")
Pour trouver l'aire du rectangle, il suffit de connaître les coordonnées x, y en bas à gauche et les coordonnées x, y en haut à droite, et comme le rectangle se rétrécit à partir des informations données, il suffit de classer les cas en fonction de la valeur de a. De plus, a2-a1 et a4-a3 peuvent chacun être-, mais dans ce cas, un rectangle ne peut pas être créé, il doit donc être défini sur 0.
answerB.py
w,h,n=map(int,input().split())
a1,a2,a3,a4=0,w,0,h
for i in range(n):
x,y,a=map(int,input().split())
if a==1:
a1=max(a1,x)
elif a==2:
a2=min(a2,x)
elif a==3:
a3=max(a3,y)
else:
a4=min(a4,y)
print(max(a2-a1,0)*max(a4-a3,0))
Puisqu'on peut voir qu'une section de couleur continue est inversée par une opération, on peut voir que le nombre de sections est réduit d'une par cette opération. Par conséquent, puisqu'il suffit de répéter cette opération pour faire tout en une seule section, le nombre de sections-1 est le nombre de pierres à obtenir. De plus, le nombre de sections peut être facilement obtenu en utilisant un groupe par fonction créé soi-même.
answerC.py
def groupby(a):
a2=[[a[0],1]]
for i in range(1,len(a)):
if a2[-1][0]==a[i]:
a2[-1][1]+=1
else:
a2.append([a[i],1])
return a2
s=groupby(input())
print(len(s)-1)
Comme l'énoncé du problème est très long, j'ai pensé que c'était un problème difficile, mais rien n'était difficile et j'ai raté le rythme. (Il m'a fallu beaucoup de temps pour me préparer. ** Je veux m'habituer aux longues phrases! **)
Tout d'abord, puisque vous avez 0 pomme au début et que vous achetez et vendez au total T, vous pouvez voir que si vous achetez et vendez T // 2 dans une ville où la différence de montant est la plus grande, le profit sera maximal. Je vais. Par conséquent, vous voulez savoir quel groupe de villes (i, j) ** présente la plus grande différence de montant. Si vous déplacez les deux groupes de villes ici, le montant du calcul augmentera, j'ai donc prêté attention à ** des deux villes, qui vend des pommes **. À ce moment, la ville où vous devriez acheter des pommes est uniquement déterminée. C'est parce que les pommes sont les moins chères des villes 1 ~ j-1. Aussi, à ce moment, si la pomme recherche la ville la moins chère parmi les villes 1 à j-1 pour chaque ville j, le montant du calcul est de 0 ($ n ^ 2 $) et il n'est pas à temps, donc ** somme cumulée Le minimum d'objets adjacents est calculé ** ("minimum dans la ville 1 ~ j" est égal au "minimum dans la ville 1 ~ j-1 et minimum entre la ville j"). Par conséquent, vous pouvez réduire le profit en abaissant ou en augmentant le prix d'une pomme (un seul yen) pour le groupe de la ville où la différence de montant d'argent est la plus grande, alors ** Comptez le nombre de groupes d'une telle ville C'est bien ** (Le prix des pommes étant différent dans chaque ville, vous pouvez simplement compter le nombre de paires. Si vous avez des pommes du même prix, vous pouvez réduire les bénéfices à moindre coût, mais cela dépend des restrictions Il n'y a pas de pomme du même prix en ville.)
answerD.py
n,t=map(int,input().split())
a=list(map(int,input().split()))
x=[0]*n
x[0]=a[0]
for i in range(1,n):
x[i]=min(x[i-1],a[i])
d=dict()
for i in range(1,n):
y=a[i]-x[i-1]
if y>0:
if y in d:
d[y]+=1
else:
d[y]=1
d=list(d.items())
d.sort(reverse=True)
print(d[0][1])
Recommended Posts