[PYTHON] AtCoder Grand Contest 047 Teilnahmebericht

AtCoder Grand Contest 047 Teilnahmebericht

Da nur Personen mit einer Bewertung von 1200 oder höher mit der Bewertung verwandt sind, dachte ich, dass die Fertigstellung von 0 kein Problem darstellen würde, aber ich war empört über Pafo 915. Als ich zuvor 0 abgeschlossen habe, war es Pafo 339, also ist es besser als das.

AGC047A - Integer Product

Ich konnte nicht durchbrechen. Einige Leute sagten, dass sie auf Twitter mit 10 9 </ sup> multiplizieren würden, um herauszufinden, wie viele 2 und 5 enthalten waren, und ich konnte die Erklärung dieser Person nicht verstehen. Es blitzte. Es ist eine Dezimalzahl, daher sollten 2 und 5 ausreichen. 2.4, die im Eingabebeispiel angezeigt wird, aber wenn Sie es mit 10 multiplizieren, wird es natürlich zu einer Ganzzahl, aber selbst wenn Sie es mit 1,25 multiplizieren, wird es zu einer Ganzzahl. Kurz gesagt, 2 2 </ sup> × 3 × 5 -1 </ sup> Wenn Sie also sogar 5 -1 </ sup> abbrechen können, bis zu 2 -2 </ sup> Sobald Sie dies wissen, finden Sie heraus, welche Potenzen 2 und 5 für jedes A i </ sub> sind. Wenn die Summe der Multiplikatoren von 2 und 5 für jede Kombination 0 oder mehr ist, dann eine ganze Zahl. Die Gesamtzahl der Kombinationen von 2 und 5 ist nicht so groß, und * O * ( N </ i> 2 </ sup>) ist ausreichend.

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 Teilnahmebericht
AtCoder Grand Contest 047 Teilnahmebericht
AtCoder Beginner Contest 181 Teilnahmebericht
AtCoder Beginner Contest 161 Teilnahmebericht
AtCoder Beginner Contest 176 Teilnahmebericht
AtCoder Beginner Contest 154 Teilnahmebericht
AtCoder Beginner Contest 166 Teilnahmebericht
AtCoder Beginner Contest 153 Teilnahmebericht
AtCoder Beginner Contest 145 Teilnahmebericht
AtCoder Beginner Contest 184 Teilnahmebericht
AtCoder Beginner Contest 160 Teilnahmebericht
AtCoder Beginner Contest 169 Teilnahmebericht
AtCoder Beginner Contest 178 Teilnahmebericht
AtCoder Beginner Contest 163 Teilnahmebericht
AtCoder Beginner Contest 159 Teilnahmebericht
AtCoder Beginner Contest 164 Teilnahmebericht
AtCoder Regular Contest 105 Teilnahmebericht
AtCoder Beginner Contest 168 Teilnahmebericht
AtCoder Beginner Contest 150 Teilnahmebericht
AtCoder Beginner Contest 158 Teilnahmebericht
AtCoder Beginner Contest 180 Teilnahmebericht
AtCoder Regular Contest 104 Teilnahmebericht
AtCoder Beginner Contest 162 Teilnahmebericht
AtCoder Beginner Contest 157 Teilnahmebericht
AtCoder Beginner Contest 167 Teilnahmebericht
AtCoder Beginner Contest 179 Teilnahmebericht
AtCoder Anfängerwettbewerb 182
AtCoder Anfängerwettbewerb 146 Teilnahmebericht
AtCoder Beginner Contest 152 Teilnahmebericht
AtCoder Beginner Contest 155 Teilnahmebericht
AtCoder Beginner Contest 174 Teilnahmebericht
AtCoder Anfängerwettbewerb 148 Teilnahmebericht
AtCoder Beginner Contest 170 Teilnahmebericht
Teilnahmebericht des AtCoder Chokudai Contest 005
AtCoder Beginner Contest 183 Teilnahmebericht
Teilnahmebericht des AtCoder HHKB Programmierwettbewerbs 2020
Teilnahmebericht des AtCoder Acing Programming Contest 2020
Teilnahmebericht des AtCoder Keyence Programming Contest 2020
AtCoder Grand Contest 041 Bewertung
Teilnahmebericht zum AtCoder Library Practice Contest (Python)
AtCoder Grand Contest 048 Bewertung
AtCoder Grand Contest 045 Bewertung
AtCoder Grand Contest 044 Bewertung
AtCoder Einführung in den Heuristik-Wettbewerbsbericht
AtCoder Grand Contest 046 Bewertung
AtCoder Judge System Update Testwettbewerb 202004 Teilnahmebericht
AtCoder Beginner Contest # 003 Teilnahmehinweis
Eintragsdatensatz für den ACL-Anfängerwettbewerb
Atcoder Anfängerwettbewerb 146 Teilnahme Tagebuch
Teilnahmebericht des AtCoder Sumitomo Mitsui Trust Bank Programmierwettbewerbs 2019
AtCoder Grand Contest Past Question Challenge 2
AtCoder Grand Contest Vergangene Frage Herausforderung 1
Teilnahmebericht des Programmierwettbewerbs 2020 der AtCoder Hitachi, Ltd.
AtCoder Anfängerwettbewerb 177
abc154 teilnahmebericht
abc155 teilnahmebericht
AtCoder Anfängerwettbewerb 179
AtCoder Anfängerwettbewerb 172
AtCoder Anfängerwettbewerb 180