问题标题: 酷町堂:7085   涂0

0
0
已解决
潮文馨
潮文馨
新手光能
新手光能

7085   涂0

经验值:1200 时间限制:1000毫秒

蜀山区2021年小学信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

小李收到一段二进制信息,里面最重要的信息是连续0的最大长度,为显目起见,小李需要用红色涂出这些连续的0,请编写程序,帮他找到最长连续0的长度

输入描述 Input Description

一个只包含0,1的字符串(1<=字符数<=1000)

输出描述 Output Description

最长连续0字串的长度

样例输入 Sample Input

100011100110000111

样例输出 Sample Output

4

数据范围及提示 Data Size & Hint

对于20%的数据,字符串长度<=10;
对于50%的数据,字符串长度<=100;
对于70%的数据,字符串长度<=500;
对于100%的数据,字符串长度<=1000;

 

样例没过代码:

#include <bits/stdc++.h>
using namespace std;
string s;
int cnt[1010];
int main()
{     
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(s[i]=='0'&&s[i+1]!='1'){
            cnt[i]++;
        }else if(s[i]=='0'&&s[i+1]=='1'){
            continue;
        }
        cout<<cnt[i]<<" ";
    }
    return 0;
}

 


0
已采纳
孙顾典
孙顾典
初级光能
初级光能
#include <bits/stdc++.h>
using namespace std;
string a;
int la , cnt = 0 , maxn = INT_MIN;
int main () {
    cin >> a;
    la = a.size();
    for (int i = 0; i < la; i ++) {
        if (a[i] == '0') {
            cnt ++;
        } else {
            maxn = max (maxn , cnt);
            cnt = 0;
        }
    }
    maxn = max (maxn , cnt);
    cout << maxn;
    return 0;
}

别举报

0
王文博
王文博
缔造者之神
缔造者之神

会呀

核心:

bool a1=(a>=85),b1=(b>=85),c1=(c>=85),d1=(d>=85),e1=(e>=85);
        int sum=a1+b1+c1+d1+e1;
        if(sum!=0) cout<<5-sum+1<<endl;
        else cout<<0<<endl;

 

0
陈乐天
陈乐天
高级守护
高级守护
  • getline(cin,a); for(int i=1;i<=a.size();i++){ if(a[i]=='0'&&a[i-1]=='0'){ cnt++; if(cnt>=ax){ ax=cnt; } }else{ cnt=0; }
0
我要回答