Polycarp and Div 3

D. Polycarp and Div 3

参考:1005D - Polycarp and Div 3

做这道题要明白一些东西:

  • 能够被3整除的数,其数位之和为3的倍数
  • 如果把数分成一位一位,相邻三个不为0位置一定能够组成一个被3整除的数(111,112,121,122,211,212,221,222)

代码:

// Created by CAD on 2020/1/11.
#include <bits/stdc++.h>
using namespace std;

const int maxn=2e5+5;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    string s;
    cin>>s;
    int cnt=0,sum=0,ans=0;
    for(auto i:s)
    {
        sum+=i-'0';
        cnt++;
        if(cnt==3||sum%3==0||(i-'0')%3==0)
            ans++,cnt=0,sum=0;
    }
    cout<<ans<<endl;
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 15:39
点赞 评论 收藏
分享
重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
06-25 16:00
武汉大学 Java
工科研究生底薪工资就开3k啊??
机械打工仔:写文章提成的岗位工资低,你怪工科?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务