Python, 全是RE,下载的测试数据可以得到正确结果,求大佬帮忙看看,有注释

P1320 压缩技术(续集版)

AnswerFinder @ 2023-03-06 19:26:09

strs = ""                       #设一个空字符串
strs = input()                  #将第一个字符串存进去
ln = len(strs)                  #再获取第一个字符串长度
for i in range(ln-1):           #重复输入并链接N-1次                                               
    strs = strs + input()
#思路就是用一个列表来存储相同字符出现次数,当下一位不同时移动列表下表,从1开始累加
if strs[0] == '0':              #判断第一个字符是不是0
    k = [ln, 1]                 #是0就从列表的第二位开始累加
    p=1                         #p是对列表累加时的下标位
else:                           #不是0就从第三位开始,为了满足题意先0后1的顺序
    k = [ln, 0, 1]
    p=2

for i in range((ln**2)-1):      #循环N^2-1次,因为比对时是后一位i+1比对当前位i
    if strs[i+1] == strs[i]:    #比对下一位是否相同,如果相同则继续累加
        k[p] = k[p] + 1         
    else:
        k.append(1)             #当下一位不同时,不累加并且对列表新增一位用于累加
        p = p + 1               #不相同时移动下标到新增的这一位上累加

for i in k:
    print(i, end=" ")

by P2354450581 @ 2023-03-29 15:16:17

在第二行和第五行的input()后面都加上.strip()来把输入的数据的收尾空字符串删除掉


by Margina1 @ 2023-05-16 15:59:20

@P2354450581 这个是什么原因呀


by 多半 @ 2023-05-31 18:09:20

@Margina1 什么原因啊兄弟,我也是改完就可以了


|