#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int mod = 1e9;
int main()
{
string s;
cin>>s;
int len = s.length();
int dp[105][105];
int m = 0;
m = (s[0]-'0')%3;
dp[0][m] = 1;
for(int i = 1;i<len;i++)
{
m = (s[i]-'0')%3;
dp[i][m] = (dp[i][m]+1)%3;
for(int j = 0;j<3;j++)
{
dp[i][j] = (dp[i-1][j] + dp[i-1][(j+3-m)%3])%mod;
}
}
cout<<dp[len-1][0]%mod<<endl;
return 0;
}
求能整除三的子串的数量
最新推荐文章于 2022-06-08 09:59:04 发布