CodeForces 688A Opponents(群架)

来源:互联网 发布:网络黄金egd崩盘了吗 编辑:程序博客网 时间:2024/06/06 05:32

http://codeforces.com/problemset/problem/688/A

A. Opponents
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Arya has n opponents in the school. Each day he will fight with all opponents who are present this day. His opponents have some fighting plan that guarantees they will win, but implementing this plan requires presence of them all. That means if one day at least one of Arya's opponents is absent at the school, then Arya will beat all present opponents. Otherwise, if all opponents are present, then they will beat Arya.

For each opponent Arya knows his schedule — whether or not he is going to present on each particular day. Tell him the maximum number of consecutive days that he will beat all present opponents.

Note, that if some day there are no opponents present, Arya still considers he beats all the present opponents.

Input

The first line of the input contains two integers n and d (1 ≤ n, d ≤ 100) — the number of opponents and the number of days, respectively.

The i-th of the following d lines contains a string of length n consisting of characters '0' and '1'. The j-th character of this string is '0' if the j-th opponent is going to be absent on the i-th day.

Output

Print the only integer — the maximum number of consecutive days that Arya will beat all present opponents.

Examples
input
2 21000
output
2
input
4 10100
output
1
input
4 511011111011010111111
output
2
Note

In the first and the second samples, Arya will beat all present opponents each of the d days.

In the third sample, Arya will beat his opponents on days 13 and 4 and his opponents will beat him on days 2 and 5. Thus, the maximum number of consecutive winning days is 2, which happens on days 3 and 4.


题意:

我翻译的就是打群架,当前行都为 1 ,对手到齐了就打不过,否则可以打过,

输出的是连续打过的最大天数。


思路:

建立一个Map数组,当前行存在 0 就赢了今天......

最后遍历就可以了。


Code:

#include<stdio.h>#include<cstring>const int MYDD=1103;const int MAXN=128;int ANS[MAXN];char Map[MAXN][MAXN];int main() {int n,d;while(scanf("%d%d",&n,&d)!=EOF) {// n 是列数for(int j=0; j<d; j++) {ANS[j]=0;scanf("%s",Map[d]);for(int k=0; k<n; k++) {if(Map[d][k]=='0') {ANS[j]=1;break;}}}int ans=0,now=0;ANS[d]=-1;for(int j=0; j<d; j++) {if(ANS[j])now++;else {if(now>ans)ans=now;now=0;}}if(now>ans)ans=now;printf("%d\n",ans);}return 0;}


0 0
原创粉丝点击