白駿1024数列の和
1563 ワード
これは簡単な実施問題である.
https://www.acmicpc.net/problem/1024
アイデアは次のとおりです.長さが最小lの場合、連続数字の和をlで割って、lを減算します. 1に決定された開始点にlを加えてリストを作成し、ex)start=3、l=2->3、4 リストの値がnの場合、回答 リストの値がnを超えると、lが増加します. リストの値がn未満の場合、startが増加します.
エラーの原因:条件値は負ではなく「整数」です.つまり、ゼロを含めることができます.例えば、1は1のみならず、0,1であってもよい.この条件を無視して,ひたすらまちがっている.
https://www.acmicpc.net/problem/1024
アイデアは次のとおりです.
n, l = map( int, input().split())
length = l
check = False
while ( True):
if( check ):
break
#print(n , l)
start = (n//l) - l
while(True):
answer_list = []
#print(n, l ,start)
for i in range(l):
tmp = start + i
if ( tmp < 0 ):
continue
answer_list.append(tmp)
if ( sum (answer_list) == n):
check = True
break
elif ( sum(answer_list) > n):
break
else:
start+=1
if ( len(answer_list) > 100 or len(answer_list) < 0 or n+10 < l):
answer_list = []
answer_list.append(-1)
break
elif( n == 1 and l == 2):
answer_list= [0,1]
break
else:
l+=1
for i in answer_list:
if ( length > len(answer_list)):
print(-1)
break
print(i, end=' ')
エラーの原因:条件値は負ではなく「整数」です.つまり、ゼロを含めることができます.例えば、1は1のみならず、0,1であってもよい.この条件を無視して,ひたすらまちがっている.
Reference
この問題について(白駿1024数列の和), 我々は、より多くの情報をここで見つけました https://velog.io/@tngus3722/백준-1024-수열의-합テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol