Daily AtCoder # 49 en Python

introduction

Dernière fois Résultats de l'ABC d'hier スクリーンショット 2020-04-27 17.43.12.png Aujourd'hui, nous allons résoudre le Boot camp pour les débutants Medium.

#49 Concours Keyence 2020-C

** Pensées ** ** Lisez correctement l'énoncé du problème **. L'élément $ A_i $ doit être inférieur ou égal à 10 $ ^ 9 $. Il est difficile de calculer la somme de plusieurs éléments comme dans l'échantillon. Par conséquent, ce sera plus facile si vous préparez des morceaux de $ K $ de $ S $. Si $ S $ n'est pas $ 10 ^ 9 $, l'autre élément est AC s'il est $ S $ ou plus. Si $ S $ vaut 10 $ ^ 9 $, il doit s'agir d'un entier inférieur ou égal à 10 $ ^ 9 $ de l'énoncé du problème. Ici, s'il s'agit d'un entier différent de 1, la somme peut être de 10 $ ^ 9 $, donc les autres éléments seront 1.

n, k, s = map(int,input().split())

if s < 10**9:
    ans = [s] * k + [10**9] * (n-k)
    print(*ans)
else:
    ans = [s] * k + [1] * (n-k)
    print(*ans)

Est-ce une spécification que la couleur de la page n'est différente que dans le concours de la clé?

ABC137-C

** Pensées ** Même s'il est vert, c'est un thé diff. Tant que le nombre d'éléments est le même pour la chaîne de caractères qui est un anagramme, nous trions chaque chaîne de caractères et la plaçons dans Counter. ← Je pense que c'est plus facile d'écrire. Après cela, la combinaison est calculée pour les éléments dont la valeur de comptage est égale ou supérieure à 2. Si c'est math.factorial, il devient RE, alors utilisez scipy.

from collections import Counter
from scipy import misc #Notez la version de scipy
n = int(input())
s = [list(input()) for _ in range(n)]

ss = []
for i in range(n):
    a = sorted(s[i])
    a = ''.join(a)
    ss.append(a)

ss = Counter(ss)
ans = 0
n = len(ss)
k = ss.keys()
for i in k:
    if ss[i] == 1:
        continue
    if ss[i] >= 2:
        ans += round(float(misc.comb(ss[i],2)))
print(int(ans))

ABC072-D

** Pensées ** Soit m la liste de [Faux] * N. Lorsque $ P_i = i $, soit $ m [i] $ comme Vrai, puis écrivez $ m [i] = Vrai $ comme T et $ m [i] = Faux $ comme F. Si la suite d'éléments de m est divisée, elle devient (TT, TF). (TFT) peut également être décomposé en (TF) et (FT). Les deux (TT, TF) peuvent être réglés sur (FF) avec un échange. Parce que $ P $ n'a pas le même élément, il ne basculera pas (TF) vers (TT). La même chose est vraie pour (TF). Et l'échange ne se fait pas en continu. D'après ce qui précède, si $ m [i] $ est T, il peut toujours être changé en F avec un seul échange.

n = int(input())
p = list(map(int,input().split()))

m = [False] * n
for i in range(n):
    if p[i] == i+1:
        m[i] = True

ans = 0
flag = False #Vérifiez la présence du swap précédent
for i in range(n):
    if flag:
        flag = False
        continue
    if m[i]:
        flag = True
        ans += 1
print(ans)

Résumé

Le japonais est difficile. Je souhaite également nettoyer la mise en œuvre. à plus.

Recommended Posts

AtCoder # 36 quotidien avec Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 53 en Python
Daily AtCoder # 33 en Python
AtCoder # 7 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 11 en Python
Daily AtCoder # 15 en Python
Daily AtCoder # 47 avec Python
Daily AtCoder # 13 en Python
AtCoder # 45 quotidien avec Python
AtCoder # 30 tous les jours en Python
AtCoder # 10 quotidien avec Python
Daily AtCoder # 28 en Python
Daily AtCoder # 20 en Python
Daily AtCoder # 19 en Python
Daily AtCoder # 52 en Python
Daily AtCoder # 3 en Python
Daily AtCoder # 50 avec Python
Daily AtCoder # 26 avec Python
AtCoder quotidien # 4 avec Python
Daily AtCoder # 43 en Python
Daily AtCoder # 29 en Python
Tous les jours avec Python AtCoder # 22
Daily AtCoder # 49 en Python
Daily AtCoder # 27 en Python
AtCoder # 1 tous les jours avec Python
Daily AtCoder # 25 avec Python
Daily AtCoder # 16 en Python
Daily AtCoder # 12 en Python
Daily AtCoder # 48 en Python
Daily AtCoder # 23 en Python
Daily AtCoder # 34 en Python
AtCoder # 51 quotidien avec Python
Daily AtCoder # 31 en Python
Daily AtCoder # 46 en Python
AtCoder # 35 quotidien avec Python
AtCoder # 9 tous les jours avec Python
Daily AtCoder # 44 avec Python
Daily AtCoder # 41 en Python
Atcoder ABC164 A-C en Python
atCoder 173 Python
Note d'entrée Python dans AtCoder
Atcoder ABC167 A-D en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
Résoudre Atcoder ABC169 A-D avec Python
[Python] Connaissances de base utilisées dans AtCoder
Quadtree en Python --2
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python