Dashboard - Codeforces Round #779 (Div. 2) - Codeforceshttps://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();
}