[PYTHON] AtCoder Grand Contest 047 Rapport de participation

AtCoder Grand Contest 047 Rapport de participation

Étant donné que seules les personnes avec une note de 1200 ou plus sont liées à la note, je pensais que 0 ne serait pas un problème, mais j'étais indigné à Pafo 915. Quand j'ai terminé 0 auparavant, c'était Pafo 339, donc c'est mieux que ça.

AGC047A - Integer Product

Je n'ai pas pu percer, certaines personnes ont dit qu'elles multiplieraient par 10 9 </ sup> sur Twitter pour savoir combien de 2 et 5 étaient inclus, et je n'ai pas compris l'explication de cette personne. Il a clignoté. C'est un nombre décimal, donc 2 et 5 devraient être suffisants. 2.4 qui apparaît dans l'exemple d'entrée, mais bien sûr si vous le multipliez par 10, cela devient un entier, mais même si vous le multipliez par 1,25, cela devient un entier. En bref, 2 2 </ sup> × 3 × 5 -1 </ sup>, donc si vous annulez même 5 -1 </ sup>, jusqu'à 2 -2 </ sup> Une fois que vous savez cela, découvrez quelles puissances 2 et 5 sont pour chaque A i </ sub>, et si la somme des multiplicateurs de 2 et 5 pour chaque combinaison est égale ou supérieure à 0, alors un entier. Le nombre total de combinaisons de 2 et 5 n'est pas si grand, et * O * ( N </ i> 2 </ sup>) suffit.

def conv(s):
    if s.find('.') == -1:
        s += '.'
    s = s.rstrip('0')
    t = len(s) - s.find('.') - 1
    a = int(s.replace('.', ''))
    if a == 0:
        return (0, 0)
    x, y = -t, -t
    while a % 5 == 0:
        x += 1
        a //= 5
    while a % 2 == 0:
        y += 1
        a //= 2
    return (x, y)


N, *A = open(0).read().split()
N = int(N)

d = {}
for a in A:
    t = conv(a)
    d.setdefault(t, 0)
    d[t] += 1

result = 0
xs = list(d.keys())
for i in range(len(xs)):
    x, y = xs[i]
    t = d[xs[i]]
    if x >= 0 and y >= 0:
        result += t * (t - 1) // 2
    for j in range(i + 1, len(xs)):
        m, n = xs[j]
        if x + m >= 0 and y + n >= 0:
            result += t * d[xs[j]]
print(result)

Recommended Posts

AtCoder Grand Contest 041 Rapport de participation
AtCoder Grand Contest 047 Rapport de participation
AtCoder Beginner Contest 181 Rapport de participation
AtCoder Beginner Contest 161 Rapport de participation
AtCoder Débutant Contest 176 Rapport de participation
AtCoder Beginner Contest 154 Rapport de participation
AtCoder Beginner Contest 166 Rapport de participation
AtCoder Beginner Contest 153 Rapport de participation
AtCoder Beginner Contest 145 Rapport de participation
AtCoder Débutant Contest 184 Rapport de participation
Rapport de participation au concours AtCoder Débutant 160
AtCoder Beginner Contest 169 Rapport de participation
AtCoder Beginner Contest 178 Rapport de participation
AtCoder Beginner Contest 163 Rapport de participation
AtCoder Beginner Contest 159 Rapport de participation
AtCoder Beginner Contest 164 Rapport de participation
Rapport de participation au concours régulier AtCoder 105
AtCoder Beginner Contest 168 Rapport de participation
Rapport de participation au concours AtCoder Débutant 150
AtCoder Beginner Contest 158 Rapport de participation
Rapport de participation au concours AtCoder Débutant 180
AtCoder Regular Contest 104 Rapport de participation
AtCoder Beginner Contest 162 Rapport de participation
AtCoder Débutant Contest 157 Rapport de participation
AtCoder Beginner Contest 167 Rapport de participation
AtCoder Débutant Contest 179 Rapport de participation
Concours AtCoder Débutant 182
AtCoder Beginner Contest 146 Rapport de participation
AtCoder Beginner Contest 152 Rapport de participation
AtCoder Débutant Contest 155 Rapport de participation
AtCoder Beginner Contest 174 Rapport de participation
AtCoder Beginner Contest 148 Rapport de participation
AtCoder Débutant Contest 170 Rapport de participation
AtCoder Chokudai Contest 005 Rapport de participation
AtCoder Débutant Contest 183 Rapport de participation
Rapport de participation au concours de programmation AtCoder HHKB 2020
Rapport de participation au concours de programmation AtCoder Acing 2020
Rapport de participation au concours de programmation AtCoder Keyence 2020
AtCoder Grand Contest 041 Critique
Rapport de participation au concours d'entraînement de la bibliothèque AtCoder (Python)
AtCoder Grand Contest 048 Critique
AtCoder Grand Contest 045 Critique
AtCoder Grand Contest 044 Critique
AtCoder Introduction au rapport de participation au concours Heuristique
AtCoder Grand Contest 046 Critique
AtCoder Judge System Update Test Contest 202004 Rapport de participation
Note de participation au concours pour débutants AtCoder # 003
Fiche d'inscription au concours ACL pour débutant
Journal de participation Atcoder Beginner Contest 146
AtCoder Sumitomo Mitsui Trust Bank Programming Contest 2019 Rapport de participation
AtCoder Grand Contest Past Question Challenge 2
AtCoder Grand Contest Défi des questions passées 1
AtCoder Hitachi, Ltd.Rapport de participation au concours de programmation de la Division des systèmes sociaux 2020
Concours AtCoder Débutant 177
rapport de participation abc154
rapport de participation abc155
Concours AtCoder Débutant 179
Concours AtCoder Débutant 172
Concours AtCoder Débutant 180