結果

問題 No.10 +か×か
ユーザー bionesbiones
提出日時 2015-09-15 15:56:38
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 928 bytes
コンパイル時間 415 ms
コンパイル使用メモリ 87,164 KB
実行使用メモリ 79,004 KB
最終ジャッジ日時 2023-09-26 12:03:15
合計ジャッジ時間 3,238 ms
ジャッジサーバーID
(参考情報)
judge15 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

def f(k):
    global nums,sum,flags,dp

    if sum>total:
        return False

    if sum==total and len(flags)==(N-1):
        s=""
        for fl in flags:
            s+=fl

        print(s)
        exit()

    if k>=N-1:
        return


    '''
    print(dp)
    print(sum)
    input()
    '''
    if not(sum in dp[k]):

        dp[k].append(sum)
        sum+=nums[k+1]
        flags.append("+")
        f(k+1)
        flags.pop()
        sum-=nums[k+1]

        hoge=sum
        sum=sum*nums[k+1]
        flags.append("*")
        f(k+1)
        flags.pop()
        sum=hoge

    #print(flags)


'''
N=4
total=31
nums=list(map(int,"1 2 10 1".split(" ")))
'''

N=int(input())
total=int(input())
nums=list(map(int,input().split(" ")))

flags=[]
dp=[[]for i in range(N)]
import numpy as np
asum=[0]*N
aprod=[0]*N
for i in range(len(nums)):
    asum[i]=np.sum(nums[i::])
    aprod[i]=np.product(nums[i::])


sum=nums[0]
f(0)
0