题目来源于牛客竞赛:https://ac.nowcoder.com/acm/contest/discuss
题目描述:
输入描述:
输出描述:
示例1:
示例2:
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define SZ 666666
char s[SZ]; int n,w[SZ],cn[3];
int main()
{
scanf("%s",s+1); n=strlen(s+1);
for(int i=1;i<=n;++i)
w[i]=(w[i-1]+s[i])%3;
ll ans=0;
for(int i=1;i<=n;++i)
{
if(s[i]=='0')
{
++ans;
if(s[i-1]=='0')
ans+=cn[w[i]];
}
cn[w[i-1]]++;
}
printf("%lld\n",ans);
}
更多问题,更详细题解可关注牛客竞赛区,一个刷题、比赛、分享的社区。
传送门:https://ac.nowcoder.com/acm/contest/discuss