Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33738 LYLAKIOIAKIOI 【S】T1 C++ 通过 100 37 MS 35388 KB 1060 2024-10-20 16:44:05

Tests(10/10):


#include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e6+10,mod=998244353; int x,n;string s;int ans=0; ll f[N][2][2]; int main(){ //double C=clock(); cin>>s; n=s.length();s=' '+s; f[0][1][1]=1; for(int i=1;i<=n;i++){ if(s[i]=='0'){ f[i][0][0]= f[i-1][0][0]*3; f[i][1][0]= f[i-1][1][0]*2; f[i][0][1]= f[i-1][0][1]*2; f[i][1][1]= f[i-1][1][1]; }else{ f[i][0][0]= f[i-1][0][0]*3+ f[i-1][1][0]*2+ f[i-1][0][1]*2+ f[i-1][1][1]; f[i][1][0]= f[i-1][1][0]+ f[i-1][1][1]; f[i][0][1]= f[i-1][0][1]+ f[i-1][1][1]; } f[i][0][0]%=mod; f[i][1][0]%=mod; f[i][0][1]%=mod; f[i][1][1]%=mod; }cout<<(f[n][0][0]+f[n][0][1]+f[n][1][0]+f[n][1][1])%mod; //cerr<<(clock()-C)/CLOCKS_PER_SEC; return 0; }


测评信息: