Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48461 | lgh | 【AB-1】函数 | C++ | 运行超时 | 40 | 1000 MS | 252 KB | 805 | 2022-04-13 12:33:55 |
#include<bits/stdc++.h> using namespace std; #define int long long #define mod 998244353 int n,kk,k[105]; int ksm[105]; int dfs(int x,int nowz) { if(x>=n+1) { if(abs(k[2]-nowz)<=kk)return 1; else return 0; } int ans=0; for(int i=-kk; i<=kk; i++) { ans+=dfs(x+1,nowz+ksm[n-x+1]*i); ans%=mod; } return ans; } signed main() { cin>>n>>kk>>k[1]>>k[2]; if(kk==0) { cout<<1<<endl; return 0; } if(k[1]==0&&k[2]==0) { int ans=1; for(int i=3; i<=n+1; i++) { ans*=(2*kk+1); ans%=mod; } cout<<ans<<endl; return 0; } ksm[1]=(k[1]+110)%11; for(int i=2; i<=kk; i++) { ksm[i]=(ksm[i-1]*k[1]+abs(k[1])*11)%11; } cout<<dfs(3,ksm[n]*k[1]+ksm[n-1]*k[2])<<endl; return 0; }