2016-11-11 1 views
0

OKだから私はちょうどのpythonを学び始めたと私はcodechef問題を解決して 私は this問題のために、次の解決策を書いた:pythonの基本:最初に完全な入力を受け取り、後で完全な出力を得る方法は?

testcase = input() 
remain = [] 
chef = [] 
assistant = [] 
for _ in range(testcase): 
    comp,rem = map(int,raw_input().split()) 
for _ in range(1,comp+1): 
    remain.append(_) 
    temp = map(int,raw_input().split()) 
    remain = [x for x in remain if x not in temp] 
    for i in range(len(remain)): 
    if i%2==0: 
     chef.append(remain[i]) 
    else: 
     assistant.append(remain[i]) 
    sarr = [str(a) for a in chef] 
    darr = [str(a) for a in assistant]   
    print " ".join(sarr) 
    print " ".join(darr) 
    remain[0:] = [] 
    chef[0:] = [] 
    assistant[0:] = [] 

今プログラムがそのはずが何をすべきかをやっているが、私はすべて撮りたいです入力を入力してからthisのように出力します。問題の例

+1

コード全体をダンプするのではなく、特におもちゃexamplで作業することができますe。 –

+0

また、これは文法的な問題ですが、 'map'のような機能的な構造体(あるいはリスト内包表記)で' raw_input'を使うのは避けています。 –

+0

あなたは私の答えに示されているもののようなものをお探しですか? – Shasha99

答えて

0

入力のすべてを何らかの種類のコレクション(最も単純な選択肢になります)に読み込んで処理します。このような何かを

0

を行い、その後、後で保存された入力を処理:

comp=[] 
rem=[] 
indexes = [] 

for _ in range(testcase): 
    rem_t,comp_t = map(int,raw_input().split()) 
    rem.append(rem_t) 
    comp.append(comp_t) 

    for _ in range(1,comp[i]+1): 
     indexes.append(map(int,raw_input().split())) 
私は、あなたがループ内 chefassitantリストを定義し、中に格納された入力を操作する必要が各テストケースのために今すぐ

comp[i], rem[i] and indexes[i]

+0

出力を保存しようとしましたが、ループの外にある単一のリストにすべての出力を保存すると、ジョブの数が異なる単一のテストケースの出力を区別する方法がありません。 –

+0

@virenkanjaniのように、あなたが参照している問題文にもかかわらず、各テストケースは2行、1つはnとm、2つ目はm要素で構成されています。テストケースごとにn、m、リストがあります。テストケースiのcomp [i]、rem [i]とindex [i](indexはリストのリストです)にすぎません。十分ですか? – Shasha99

+0

@virenkanjaniさんはこれがあなたのために今働いていますか? – Shasha99

関連する問題