#include<cstdio>#include<cstring>usingnamespace std;constint N =105;int t, n;char s[N];intmain(){scanf("%d",&t);while(t--){scanf("%s", s +1);
n =strlen(s +1);int i =0, ans =0;while(i <= n){if(s[i]=='1'){//统计中间1的个数 int r = i +1;while(s[r]!='1'&& r <= n) r++;if(r != n +1) ans += r - i -1;
i = r;}else i++;}printf("%d\n", ans);}return0;}
B
gday表示最少需要的高质量天数。 看需要几轮才能完成。
#include<cstdio>#include<cstring>#include<algorithm>usingnamespace std;typedeflonglong ll;int t;
ll n, g, b;intmain(){scanf("%d",&t);while(t--){scanf("%lld%lld%lld",&n,&g,&b);
ll gday =(n +1)/2, ans =0, c = gday / g;
ans = c *(g + b);if(gday % g ==0) ans -= b;else ans += gday % g;if(n - ans >0) ans += n - ans;printf("%lld\n", ans);}return0;}