Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33715 hi_hi 【S】T1 C++ 通过 100 38 MS 26604 KB 443 2024-10-20 14:46:52

Tests(10/10):


#include<bits/stdc++.h> using namespace std; string n; long long dp[1000006][3]; int main(){ cin>>n; long long l=n.length()-1; dp[0][0]=1,dp[0][1]=2; for(int i=1;i<=l;i++){ if(n[i]=='0'){ dp[i][1]=(dp[i-1][1]*2)%998244353; dp[i][0]=(dp[i-1][0]*3)%998244353; } else{ dp[i][1]=dp[i-1][1]; dp[i][0]=(dp[i-1][1]*2+dp[i-1][0]*3)%998244353; } } printf("%lld",(dp[l][0]+dp[l][1])%998244353); return 0; }


测评信息: