0

codechef のコードで nzec エラーが発生するのはなぜですか????? 質問リンクは http://www.codechef.com/problems/DCE05 で、私の解決策は

maxn = 10**9

i = 0

lis = [1]

while(maxn !=0):

    lis.append(2*lis[i])

    i = i+1

    maxn = maxn/2

t = int(input())

for y in range(t):

    n = int(input())

    if n == 0:

        print n

        continue

    for j in range(len(lis)):

        if n > lis[j]:

            continue

        else:

            if lis[j]== n:

                print lis[j]

            else:

                print lis[j-1]

            break
4

2 に答える 2

0

私は以前にプログラミング コンテストを行ったことがあります。両方をインターリーブするのではなく、出力を生成する前にすべての入力を読み取ることになっています。ページで提供されているテスト ケース [2,5,12] でコードを実行すると、

2
5
4
12
8

それが何を示すべきか

2
5
12
4
8
于 2013-03-24T10:23:14.353 に答える
0

答えるのは簡単ではありませんが、最初にすべての入力を読み取ってから出力を印刷するべきではありませんか? 私が理解していることから、入力 2 5 10 では、コードは最初に 2 (テストケースの数) を読み取り、次に 5 (人の数) が最初の結果を出力してから、次の入力 10 を読み取ります。よくわかりません。これが役立つ場合は、簡単に試すことができます。

于 2013-03-24T10:11:39.507 に答える