0
点赞
收藏
分享

微信扫一扫

Codeforces Round #779 (Div. 2)

毅会 2022-03-30 阅读 88
c++

Dashboard - Codeforces Round #779 (Div. 2) - Codeforcesicon-default.png?t=M276https://codeforces.com/contest/1658

A. Marin and Photoshoot

思路:

当0连续出现两次,可以加入两个1。

例如:000,可变成:0110110。

可能会出现0出现两次,但是已经有了一个1,那么就加入一个1。

例如:01010,可变成:0110110。

10,01的情况都不满足。

例如:100110101,可变成:101101101101。

题解:

#include <bits/stdc++.h>
using namespace std;

#define int long long
const int N = 1e3 + 5;

void solve()
{
    int n;
    char s[105];
    cin >> n >> s;
    int res = 0;
    for(int i = 0; i < n; i ++)
    {
        if(s[i] == '0' && s[i + 1] == '0') res += 2;
        if(s[i] == '0' && s[i + 1] == '1' && s[i + 2] == '0') res ++;
    }
    cout << res << '\n';
}

signed main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    
    int t;
    cin >> t;
    while(t --) solve();
}
举报

相关推荐

0 条评论