Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
35171 liuziming 【S】T2 C++ 解答错误 0 26 MS 62240 KB 729 2024-11-28 14:06:23

Tests(0/4):


#include<bits/stdc++.h> using namespace std; #define int long long #define mod 998244353 int n,dp[2010][2010],g[2010]; string s; signed main(){ cin>>n; cin>>s; for(int i=0;i<=n;i++){ for(int j=0;j<=n;j++){ if(i==0&&j!=0) break; dp[i+1][j]=(dp[i+1][j]+g[j-1])%mod; //g[j]=g[j-1]+dp[i][j]; if(s[i]=='0'){ dp[i+1][j+1]=(dp[i+1][j+1]+dp[i][j]*j)%mod; g[j]=g[j-1]+dp[i][j]; }else{ if(j>i) break; dp[i+1][j]=(dp[i+1][j]+dp[i][j]*(i+1-j))%mod; } } }int ans=0; for(int i=1;i<=n;i++){ ans=(ans+dp[n][i])%mod; }cout<<ans<<'\n'; }


测评信息: