贪心的策略。贪心策略一定是针对有限范围内的原则。
这里三个数之内一定会出答案。
需要找到规律,就找到了贪心的策略
#include<bits/stdc++.h> using namespace std; string s; int a[200010]; int main() { cin>>s; int n=s.size(); for(int i=0;s[i];i++) { a[i+1]=s[i]-'0'; a[i+1]%=3; } int sum=0; int ans=0; int num=0; for(int i=1;i<=n;i++) { sum+=a[i]; num++; if(a[i]==0||sum==3||num==3) { sum=0; num=0; ans++; } } printf("%d\n",ans); }