梁博文314 @ 2024-02-02 22:57:53
str1=input()
list1=str1.split(' ')
n=int(list1[0])
countn=-1
ans=''
if list1.count('')>0:
list1.remove('')
for i in list1:
if countn==-1:
countn=countn+1
continue
if countn%2==0 and i!='':
ans=ans+'0'*int(i)
elif countn%2==1 and i!='':
ans=ans+'1'*int(i)
countn=countn+1
for i in range(n):
print(ans[int(i*n):int((i+1)*n)])
为什么都是RE? 为什么在自己的IDLE上啥事没有,在洛谷上就RE? 为什么不能进行int(i)操作?(经过测试,保留别的语句而删掉int(i)就是WA,加上这个就是RE)
by cff_0102 @ 2024-02-02 23:02:14
@梁博文314 可能是有\r?
by 70CentsApple @ 2024-02-02 23:39:09
@梁博文314 试一试把读入(前两行)改成 list1 = map(int, input().strip().split())
经过这样处理之后的每个元素都是整型,然后后面也不用判断(i!=''
);也不用转化成 int 了
如果还有问题,可以检查一下有没有潜在的数组越界问题
by 70CentsApple @ 2024-02-02 23:54:12
@70CentsApple 更正:list1 = list(map(int, input().strip().split()))
然后,我用你的代码风格改了一下可以 AC 了:
list1 = list(map(int, input().strip().split()))
n=int(list1[0])
countn=0
ans=''
for i in list1[1::] :
if countn%2==0:
ans=ans+'0'*i
else:
ans=ans+'1'*i
countn=countn+1
for i in range(n):
print(ans[int(i*n):int((i+1)*n)])