题目来源于牛客竞赛: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

573

被折叠的 条评论
为什么被折叠?



