问题 6478 --统计软件

6478: 统计软件★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 26  解决: 16
[提交][状态][命题人:]

题目描述

小张研发了一个软件,用来统计看章回体小说时,对书中人物同时出现的情况进行简单分析。

def getMaxLen(result):
    mlen=0
    for item in result:
        t=item[1]-item[0]+1
        if t>_______:
            mlen=t
    return mlen
def allIn(total,cno):
    for item in names:
        if ____________:
            return False
    return True
def calculate(total,n):
    num,length=0,0
    result=[]
    k=-1
    for i in range(0,n):
        if allIn(total,i):
            _________
            if length==0:
                begin=i+1
                result.append([begin,begin])
                k+=1
            length+=1
            result[k][1]=i+1
        else:
            length=0
    return num,result        
n,m=map(int,input().split())
names=input().split(',')
total={}
for i in range(m):
    a=[int(t) for t in input().split()]
    total[names[i]]=a
num,result=calculate(total,n)
mlen=getMaxLen(result)
print(num)
print(result)
print(mlen)

输入

第一行输入两个整数n和m, n表示该章回体小说一共多少回,m表示要统计的人物名字

第二行输入m个人物的名字,中间逗号隔开

下面m行分别表示每个人物在第1回~第n回分别出现的次数

输出

第一行输出上述m个人物同时出现的章回数

第二行输出具体的同时出现的章回序号,如果是连续的,则表示为一个区间(具体格式参见样例)

第三行输出上述人物同时出现的最大连续章回数

样例输入
Copy
10 2
cao cao,liu bei
1 2 0 0 15 6 8 0 0 0
5 12 9 14 7 1 3 7 2 4
样例输出
Copy
5
[[1, 2], [5, 7]]
3

提示

来源

[提交][状态]