[PYTHON] concours yukicoder 249 Record de participation

concours yukicoder 249 Record de participation

Une belle journée 1057

Le premier jour ne peut pas être un jour merveilleux car je n'ai pas mangé de gâteau la veille. Donc, si le nombre de petits gâteaux et de gâteaux au chocolat est différent, mangez le plus gros le premier jour. Après cela, vous pouvez manger en alternance.

A, B = map(int, input().split())

if A == B:
    print(2 * A - 1)
else:
    print(min(A, B) * 2)

B 1058 Beau numéro

Puisque le nombre à calculer n'a pas une fraction de 2 ou plus et 10 5 </ sup> ou moins, ce n'est pas un nombre premier, donc en bref, le produit de deux nombres premiers supérieurs à 10 5 </ sup> est dans l'ordre croissant. ..

Alors, trouvez un tel nombre premier de manière appropriée,

>>> for i in range(10**5, 10**5+1000):
...   flag = True
...   for j in range(2, int(sqrt(i))+1):
...     if i % j == 0:
...       flag = False
...       break
...   if flag:
...     print(i)
...
100003
100019
100043
100049
100057
100069
100103
100109
100129
100151
...

Trouvez le produit par ordre croissant

>>> result = []
>>> for i in [100003,100019,100043,100049,100057,100069,100103,100109,100129,100151]:
...   for j in [100003,100019,100043,100049,100057,100069,100103,100109,100129,100151]:
...     result.append(i*j)
...
>>> print(sorted(set(result))[:10])
[10000600009, 10002200057, 10003800361, 10004600129, 10005200147, 10006000171, 10006200817, 10006800931, 10007200207, 10007601083]

Je l'ai intégré dans le code source.

N = int(input())

print([1, 10000600009, 10002200057, 10003800361, 10004600129, 10005200147, 10006000171, 10006200817, 10006800931, 10007200207][N - 1])

C 1059 Bel ensemble

Je n'ai pas pu percer.

Tout d'abord, le coût est 0 ou 1. Parce que la paire de i, i + 1 est le coût 1. Après cela, si vous pensez que c'est fini si vous laissez tomber celui qui coûte 0 comme le tamis ératostinais, ce n'est pas le cas. Par exemple, s'il y a 2, 3 et 6, le coût sera 1 pour la paire de 2 et 3, mais le 3 pour la paire de 3 et 6 aura le coût de 0 et le 3 sera effacé. Vous pouvez obtenir un bel ensemble à un coût nul. En d'autres termes, vous pouvez effacer les éléments qui ont un multiple commun commun à un coût nul. Ensuite, vous pouvez résoudre le problème avec Union Find quant au nombre de syndicats.

from sys import setrecursionlimit


def find(parent, i):
    t = parent[i]
    if t < 0:
        return i
    t = find(parent, t)
    parent[i] = t
    return t


def unite(parent, i, j):
    i = find(parent, i)
    j = find(parent, j)
    if i == j:
        return
    parent[i] += parent[j]
    parent[j] = i


setrecursionlimit(10 ** 6)

L, R = map(int, input().split())

parent = [-1] * (R + 1)
for i in range(L, R):
    if find(parent, i) != i:
        continue
    for j in range(i * 2, R + 1, i):
        unite(parent, i, j)
print(sum(1 for i in range(L, R + 1) if find(parent, i) == i) - 1)

Recommended Posts

yukicoder contest 265 Record de participation
concours yukicoder 266 Record de participation
yukicoder contest 263 Record de participation
yukicoder contest 273 Record de participation
concours yukicoder 252 Record de participation
concours yukicoder 259 Record de participation
concours yukicoder 249 Record de participation
concours yukicoder 271 Record de participation
Concours yukicoder 251 Record de participation
yukicoder contest 242 Record de participation
concours yukicoder 241 Record de participation
yukicoder contest 257 Record de participation
Concours yukicoder 254 Record de participation
yukicoder contest 246 Record de participation
concours yukicoder 275 Record de participation
Concours yukicoder 274 Record de participation
concours yukicoder 247 Record de participation
yukicoder contest 261 Record de participation
yukicoder contest 248 Record de participation
yukicoder contest 270 (concours de mathématiques) Record de participation
yukicoder contest 272 (Weird math contest) Record de participation
record de participation au concours 267 de yukicoder
record du concours 264 de yukicoder
yukicoder contest 245 record d'inscription
record de participation au concours yukicoder 250
record du concours 262
concours yukicoder 259 avis
concours yukicoder 264 avis
concours yukicoder 261 avis
concours yukicoder 267 avis
concours yukicoder 266 avis
concours yukicoder 263 avis
yukicoder contest 268 avis
AtCoder Beginner Contest 161 Rapport de participation
AtCoder Beginner Contest 151 Rapport de participation
AtCoder Débutant Contest 176 Rapport de participation
AtCoder Beginner Contest 154 Rapport de participation
Note de participation au concours pour débutants AtCoder # 003
AtCoder Grand Contest 041 Rapport de participation
AtCoder Beginner Contest 166 Rapport de participation
AtCoder Grand Contest 040 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
AtCoder Beginner Contest 165 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 156 Rapport de participation
AtCoder Beginner Contest 162 Rapport de participation