AtCoder # 24 tous les jours avec Python

introduction

Dernière fois Cette fois, nous allons résoudre le problème résoluble de this.

#24 ABC045-C 1110diff

** Pensées ** Pour la première fois, j'ai appris une technique appelée recherche peu complète, donc je vais l'utiliser. Rechercher tout pour savoir s'il faut mettre un symbole entre les lettres.

s = input()

ans = 0
n = len(s) - 1 #L'espace est un de moins que le nombre de caractères
for i in range(2 ** n):
    op = [''] * n
    for j in range(n):
        if ((i >> j) & 1):
            op[n - j - 1] = '+'
    formula = ''
    for p_n, p_o in zip(s,op+['']):
        formula += (p_n+p_o)
    ans += eval(formula)

print(ans)

ABC079-C 302diff

** Pensées ** La différence avec le problème précédent est qu'il y a deux symboles, mais ils sont presque identiques. eval calcule l'expression de caractère et renvoie int.

abcd = input()
n = len(abcd) - 1
for i in range(2 ** n):
    op = ['-'] * n
    for j in range(n):
        if ((i >> j) & 1):
            op[n - j - 1] = '+'
    formula = ''
    for p_n, p_o in zip(abcd, op + ['']):
        formula += (p_n + p_o)
    if eval(formula) == 7:
        print(formula + '=7')
        break

ARC029 465diff

** Pensées ** Recherchez tous les morceaux en fonction du gril à viande que vous utilisez. Après cela, mettez simplement à jour la valeur minimale.

n = int(input())
t = [int(input()) for _ in range(n)]
ans = 10**9
for i in range(2 ** n):
    niku = ['Left'] * n
    for j in range(n):
        if ((i >> j) & 1):
            niku[n - j - 1] = 'Right'
    wait_time_left = 0
    wait_time_rignt = 0
    for k in range(n):
        if niku[k] == 'Left':
            wait_time_left += t[k]
        if niku[k] == 'Right':
            wait_time_rignt += t[k]
    wait_time = max(wait_time_left,wait_time_rignt)
    ans = min(ans,wait_time)
print(ans)

Problèmes qui n'ont pas pu être résolus

ABC104-C Je ne pouvais pas écrire le traitement du problème à résoudre à mi-chemin.

d, g = map(int,input().split())
pc = [list(map(int,input().split())) for _ in range(d)]
n = len(pc)
ans = 10**9
for i in range(2 ** n):
    cost = 0
    score = 0
    check = [False] * n

    for j in range(n):
        if ((i >> j) & 1):
            check[n - j - 1] = True

    for k in range(n):
        if check[k]:
            for l in range(pc[k][0]):
                cost += 1
                score += 100 * (k+1)
                if l == pc[k][0]-1:
                    score += pc[k][1]
                if score >= g:
                    ans = min(ans,cost)
print(ans)

ABC002-C Quand je réfléchissais à l'opportunité d'inclure 12 membres dans la faction, je ne pouvais pas écrire un code pour me confirmer mutuellement.

Résumé

difficile. C'est amusant d'apprendre de nouvelles choses, mais cela n'a pas de sens si vous ne pouvez pas les résoudre, alors résolvez les questions du passé pour qu'elles prennent racine. à 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
AtCoder # 24 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
Daily AtCoder # 42 en Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 17 avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 54 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 # 40 quotidien avec Python
AtCoder # 10 quotidien avec Python
AtCoder # 5 tous les jours avec Python
Daily AtCoder # 28 en Python
AtCoder # 39 quotidien avec Python
Daily AtCoder # 20 en Python
Daily AtCoder # 19 en Python
Daily AtCoder # 52 en Python
Daily AtCoder # 3 en Python
Daily AtCoder # 14 avec 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