[PYTHON] AtCoder Beginner Contest 046 Revue des questions précédentes

Temps requis

スクリーンショット 2020-02-27 14.45.30.png

Impressions

Je suis content que le problème D n'ait pas été si difficile parce que c'était un jeu d'idées, mais cela a pris beaucoup de temps parce qu'une erreur s'est produite en raison de la fonction ceil dans le problème C.

Problème A

Il est facile de distinguer les cas si a, b et c sont tous identiques.

answerA.py


a,b,c=map(int,input().split())
if a==b and b==c:
    print(1)
elif a==b or b==c or c==a:
    print(2)
else:
    print(3)

Problème B

Vous pouvez décider des couleurs dans l'ordre de l'avant. Il y a k façons seulement au début, et après cela, k-1 façons peuvent être obtenues en utilisant des couleurs autres que la couleur immédiatement précédente.

answerB.py


n,k=map(int,input().split())
print(k*((k-1)**(n-1)))

Problème C

A partir du rapport du nombre de votes obtenus dans la i-ième fois, le nombre réel de votes obtenus est Ti * x, Ai * x (x est un entier de 1 ou plus), et lorsque le nombre de votes immédiatement avant est T, A, Ti * x> = T , Ai * x> = A, devrait tenir. Par conséquent, x est le plus grand de ceil (T / Ti) et ceil (A / Ai). Cependant, en ** Python, le résultat de la division est de type float au lieu de int **, il y aura donc une erreur lorsque le nombre est grand. Par conséquent, n'utilisez pas la fonction ceil ici. Par conséquent, en utilisant - ((- X) // Y) au lieu de ** ceil (X / Y) **, le calcul peut être effectué sans aucune erreur.

answerC.py


n=int(input())
nt,na=map(int,input().split())
for i in range(n-1):
    t,a=map(int,input().split())
    #Il y a une erreur dans la pièce où x est calculé
    #x=max(ceil(nt/t),ceil(na/a))
    x=-min((-nt)//t,(-na)//a)
    nt,na=x*t,x*a
print(nt+na)

Problème D

Tout d'abord, je veux sortir autant de pars que possible ** (n-n // 2 fois), donc en considérant une telle méthode, la méthode de mise en alternance avec gooper gooper gooper ... est la méthode la plus courante. Je n'avais pas beaucoup de temps parce que j'étais dans la nature, alors je l'ai soumis avec cette considération appropriée pendant le Bachacon.

Puisque le nombre de fois que Goo et Par sont émis a été décidé, considérez que l'ordre dans lequel Goo et Par sont émis n'est pas lié au score. En considérant comment retirer la main, si vous sortez un par pendant que l'adversaire sort un goo, +1 si vous sortez un goo, 0 si vous sortez un par, si vous sortez un par pendant que l'adversaire sort un par, 0 goo Si vous émettez, ce sera -1. En d'autres termes, dans tous les cas, si vous donnez un goo, vous aurez un effet -1 ** sur l'ensemble ** par rapport à si vous donnez un par. Par conséquent, lorsque le nombre de fois que Goo et Par sont émis est décidé, on peut dire que le score n'est pas lié à l'ordre de Goo et Par. (Comme il est écrit avec sensualité, veuillez vous référer à Answer pour plus de détails.)

Si vous implémentez ce qui précède, ce sera comme suit (il suffit de compter les points en alternant avec Gooper Gooper Gooper ...).

answerD.py


s=input()
n=len(s)
ans=0
for i in range(n):
    if i%2==0:
        if s[i]=="p":
            ans-=1
    else:
        if s[i]=="g":
            ans+=1
print(ans)

Recommended Posts

AtCoder Beginner Contest 072 Revue des questions précédentes
AtCoder Beginner Contest 085 Revue des questions précédentes
AtCoder Beginner Contest 062 Revue des questions précédentes
AtCoder Beginner Contest 113 Revue des questions précédentes
AtCoder Beginner Contest 074 Revue des questions précédentes
AtCoder Beginner Contest 127 Revue des questions précédentes
AtCoder Beginner Contest 151 Revue des questions précédentes
AtCoder Beginner Contest 075 Revue des questions précédentes
AtCoder Beginner Contest 054 Revue des questions précédentes
AtCoder Beginner Contest 110 Revue des questions précédentes
AtCoder Beginner Contest 117 Revue des questions précédentes
AtCoder Beginner Contest 070 Revue des questions précédentes
AtCoder Beginner Contest 105 Revue des questions précédentes
AtCoder Beginner Contest 112 Revue des questions précédentes
AtCoder Beginner Contest 076 Revue des questions précédentes
AtCoder Beginner Contest 089 Revue des questions précédentes
AtCoder Beginner Contest 069 Revue des questions précédentes
AtCoder Beginner Contest 079 Revue des questions précédentes
AtCoder Beginner Contest 056 Revue des questions précédentes
AtCoder Beginner Contest 087 Revue des questions précédentes
AtCoder Beginner Contest 067 Revue des questions précédentes
AtCoder Beginner Contest 093 Revue des questions précédentes
AtCoder Beginner Contest 046 Revue des questions précédentes
AtCoder Beginner Contest 123 Revue des questions précédentes
AtCoder Beginner Contest 049 Revue des questions précédentes
AtCoder Beginner Contest 078 Revue des questions précédentes
AtCoder Beginner Contest 081 Revue des questions précédentes
AtCoder Beginner Contest 047 Revue des questions précédentes
AtCoder Beginner Contest 060 Revue des questions précédentes
AtCoder Beginner Contest 104 Revue des questions précédentes
AtCoder Beginner Contest 057 Revue des questions précédentes
AtCoder Beginner Contest 121 Revue des questions précédentes
AtCoder Beginner Contest 126 Revue des questions précédentes
AtCoder Beginner Contest 090 Revue des questions précédentes
AtCoder Beginner Contest 103 Revue des questions précédentes
AtCoder Beginner Contest 061 Revue des questions précédentes
AtCoder Beginner Contest 059 Revue des questions précédentes
AtCoder Beginner Contest 044 Revue des questions précédentes
AtCoder Beginner Contest 083 Revue des questions précédentes
AtCoder Beginner Contest 048 Revue des questions précédentes
AtCoder Beginner Contest 124 Revue des questions précédentes
AtCoder Beginner Contest 116 Revue des questions précédentes
AtCoder Beginner Contest 097 Revue des questions précédentes
AtCoder Beginner Contest 088 Revue des questions précédentes
AtCoder Beginner Contest 092 Revue des questions précédentes
AtCoder Beginner Contest 099 Revue des questions précédentes
AtCoder Beginner Contest 065 Revue des questions précédentes
AtCoder Beginner Contest 053 Revue des questions précédentes
AtCoder Beginner Contest 094 Revue des questions précédentes
AtCoder Beginner Contest 063 Revue des questions précédentes
AtCoder Beginner Contest 107 Revue des questions précédentes
AtCoder Beginner Contest 071 Revue des questions précédentes
AtCoder Beginner Contest 064 Revue des questions précédentes
AtCoder Beginner Contest 082 Revue des questions précédentes
AtCoder Beginner Contest 084 Revue des questions précédentes
AtCoder Beginner Contest 068 Revue des questions précédentes
AtCoder Beginner Contest 058 Revue des questions précédentes
AtCoder Beginner Contest 043 Revue des questions précédentes
AtCoder Beginner Contest 098 Revue des questions précédentes
AtCoder Beginner Contest 114 Revue des questions précédentes
AtCoder Beginner Contest 045 Revue des questions précédentes