Code Jam - Reverse Words for Python
前編Store Credit同様、Africa 2010、Qualification Roundのテーマで、現在は練習に使われています
Problem
スペースで区切られた単語のリストを与え、各行にL文字とW単語が含まれます.各行にはアルファベットとスペースしか含まれておらず、単語間のスペースは1つしかありません.
Input
最初の行はtest caseの数Nを与える
次のN行には、行ごとにスペースで区切られた単語のリストが含まれます.
Output
各test caseについて、「Case#x:」という行を出力し、その後、その行において所定の単語リストを逆の順序で出力する.
Sample
Input
Output
ソース:
方法1:
この問題はPythonで実現するのが便利で、1行のデータを読み込んだ後、split法で区切り(デフォルトはスペースを間隔にして、問題と一致します)、単語の順序を戻せばいいです.
方法2:
入力したリストを変更せずにそのまま使用することもできます
Problem
スペースで区切られた単語のリストを与え、各行にL文字とW単語が含まれます.各行にはアルファベットとスペースしか含まれておらず、単語間のスペースは1つしかありません.
Input
最初の行はtest caseの数Nを与える
次のN行には、行ごとにスペースで区切られた単語のリストが含まれます.
Output
各test caseについて、「Case#x:」という行を出力し、その後、その行において所定の単語リストを逆の順序で出力する.
Sample
Input
Output
3
this is a test
foobar
all your base
Case #1: test a is this
Case #2: foobar
Case #3: base your all
ソース:
方法1:
fin = open('B-large-practice.in', 'r')
fout = open('B-large-practice.out', 'w')
N = int(fin.readline())
for cases in xrange(N):
words = fin.readline().split()
L = len(words)
if L != 1:
for i in xrange(L):
if i >= L - i -1:
break
tmp = words[i]
words[i] = words[L - i -1]
words[L - i -1] = tmp
fout.write("Case #%d:" %(cases + 1))
for i in xrange(L):
fout.write(" %s" %(words[i]))
fout.write("
")
fin.close()
fout.close()
この問題はPythonで実現するのが便利で、1行のデータを読み込んだ後、split法で区切り(デフォルトはスペースを間隔にして、問題と一致します)、単語の順序を戻せばいいです.
方法2:
入力したリストを変更せずにそのまま使用することもできます
fout.write("Case #%d:" %(cases + 1))
for i in xrange(L):
fout.write(" %s" %(words[-(i + 1)]))
fout.write("
")
法により結果が得られた.