Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38673 masppy 【S】T3 C++ 通过 100 292 MS 391704 KB 714 2025-10-18 15:40:56

Tests(10/10):


#include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e4+10; const ll inf=1e9; const ll mod=998244353; ll n,m,t; ll a,b; int f[maxn],num[maxn][maxn]; int main(){ //freopen("test.in","r",stdin); //freopen("test.out","w",stdout); scanf("%lld",&n); memset(f,0,sizeof(f)); memset(num,0,sizeof(num)); f[2]=1,num[2][0]=1; int mx=1; for(int i=3;i<=n;i++) f[i]=(f[i-1]+1)^(f[i-2]+1),mx=max(f[i],mx); for(int i=3;i<=n;i++){ for(int j=0;j<=mx;j++){ num[i][j]=((j==f[i-2]+1?1:num[i-1][(j^(f[i-2]+1))-1])+(j==f[i-1]+1?1:num[i-2][(j^(f[i-1]+1))-1]))%mod; // cout<<i<<" "<<j<<" "<<num[i][j]<<endl; } } printf("%lld",num[n][0]); return 0; }


测评信息: