A. Opponents
2016-07-07 11:09
495 查看
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
output
input
output
input
output
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 1, 3 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的字符串的最大次数,遍历判断字符串,判断字符串中是否不全为1.
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
#include <map>
using namespace std;
int main( )
{
int n,d,i,j,k=0,c=0,l=0,max=0;
char a[101];
scanf("%d %d",&n,&d);
for(i=0;i<d;i++)
{
c=0;
scanf("%s",a);
l=strlen(a);
for(j=0;j<l;j++)
{
if(a[j]=='1')
{
c+=1;
}
}
if(c!=l)
{
k+=1;
}
if(k>max)
{
max=k;
}
if(c==l)
{
k=0;
}
}
printf("%d\n",max);
return 0;
}
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
110111110110
10111111
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 1, 3 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的字符串的最大次数,遍历判断字符串,判断字符串中是否不全为1.
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
#include <map>
using namespace std;
int main( )
{
int n,d,i,j,k=0,c=0,l=0,max=0;
char a[101];
scanf("%d %d",&n,&d);
for(i=0;i<d;i++)
{
c=0;
scanf("%s",a);
l=strlen(a);
for(j=0;j<l;j++)
{
if(a[j]=='1')
{
c+=1;
}
}
if(c!=l)
{
k+=1;
}
if(k>max)
{
max=k;
}
if(c==l)
{
k=0;
}
}
printf("%d\n",max);
return 0;
}
相关文章推荐
- 通过Intellij IDEA对tomcat进行远程调试
- Linux快速修改用户密码
- docker镜像相关命令
- Linux gcc编译器常用命令和使用
- Linux开发工具(gcc,gdb,make,shell)——linux中静态库和动态库的区别(三)
- 什么是架构
- opensearch的使用
- Linux书籍汇总
- 安装tomcat
- Linux 进程
- linux patch分析
- linux patch分析
- linux patch分析
- linux patch分析
- 【Shell】删除指定时间之前的文件
- Nginx配置
- docker 容器相关命令
- mac ssh 断开连接
- objdump命令的使用
- Linux命令之ls