codeforces 688A A. Opponents(水题)

题目链接:

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 2
10
00
output
2
input
4 1
0100
output
1
input
4 5
1101
1111
0110
1011
1111
output
2

题意:

全是1的时候就是失败的时候,找最长的0的序列;

 思路:

 水题

 AC代码:

//#include <bits/stdc++.h>
#include <vector>
#include <iostream>
#include <queue>
#include <cmath>
#include <map>
#include <cstring>
#include <algorithm>
#include <cstdio>

using namespace std;
#define Riep(n) for(int i=1;i<=n;i++)
#define Riop(n) for(int i=0;i<n;i++)
#define Rjep(n) for(int j=1;j<=n;j++)
#define Rjop(n) for(int j=0;j<n;j++)
#define mst(ss,b) memset(ss,b,sizeof(ss));
typedef  long long LL;
template<class T> void read(T&num) {
    char CH; bool F=false;
    for(CH=getchar();CH<'0'||CH>'9';F= CH=='-',CH=getchar());
    for(num=0;CH>='0'&&CH<='9';num=num*10+CH-'0',CH=getchar());
    F && (num=-num);
}
int stk[70], tp;
template<class T> inline void print(T p) {
    if(!p) { puts("0"); return; }
    while(p) stk[++ tp] = p%10, p/=10;
    while(tp) putchar(stk[tp--] + '0');
    putchar('\n');
}

const LL mod=1e9+7;
const double PI=acos(-1.0);
const LL inf=1e18;
const int N=1e4+20;
const int maxn=1005;
const double eps=1e-10;

char str[103][103];
int a[103];
int main()
{

    int n,d;
    read(n);read(d);
    for(int i=1;i<=d;i++)
    {
        scanf("%s",str[i]);
        int flag=0;
        for(int j=0;j<n;j++)
        {
            if(str[i][j]=='0')flag=1;
        }
        if(flag)a[i]=1;
    }
    int ans=0,len=0;
    for(int i=1;i<=d;i++)
    {
        if(a[i])
        {
            len++;
        }
        else
        {
            ans=max(ans,len);
            len=0;
        }
    }
    ans=max(ans,len);
        cout<<ans<<"\n";

        return 0;
}

 

 

posted @ 2016-06-30 11:04  LittlePointer  阅读(346)  评论(0编辑  收藏  举报