Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33705 22fhq 【S】T1 C++ 通过 100 43 MS 35396 KB 1085 2024-10-20 14:06:42

Tests(10/10):


#include<bits/stdc++.h> using namespace std; #define int long long string s; const int mod=998244353; int dp[1000005][2][2]; signed main(){ //freopen("pair.in","r",stdin); //freopen("pair.out","w",stdout); cin>>s; int n=s.size(); s=' '+s; dp[0][0][0]=1; for(int i=1;i<s.size();i++){ if(s[i]=='1'){ dp[i][0][1]=dp[i-1][0][0]+dp[i-1][0][1]; dp[i][1][0]=dp[i-1][0][0]+dp[i-1][1][0]; dp[i][1][1]=dp[i-1][0][0]+2*dp[i-1][0][1]+2*dp[i-1][1][0]+3*dp[i-1][1][1]; } else{ dp[i][0][0]=dp[i-1][0][0]; dp[i][0][1]=2*dp[i-1][0][1]; dp[i][1][0]=2*dp[i-1][1][0]; dp[i][1][1]=3*dp[i-1][1][1]; } dp[i][0][0]%=mod; dp[i][0][1]%=mod; dp[i][1][0]%=mod; dp[i][1][1]%=mod; // cout<<dp[i][0][0]<<" "<<dp[i][0][1]<<" "<<dp[i][1][0]<<" "<<dp[i][1][1]<<endl; } cout<<(dp[n][0][0]+dp[n][1][0]+dp[n][0][1]+dp[n][1][1])%mod; // cerr<<clock()*1.0/CLOCKS_PER_SEC<<"s\n"; return 0; }


测评信息: