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)
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.
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