Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48647 | MattL | 【AB-1】函数 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 679 | 2022-04-14 14:09:02 |
#include<bits/stdc++.h> using namespace std; inline long long read() { int x=0,f=1; char t=getchar(); while(t<'0'||t>'9'){if(t=='-')f=0;t=getchar();} while(t>='0'&&t<='9')x=(x<<1)+(x<<3)+(t^48),t=getchar(); return f?x:-x; } const int PY=2e4+100,mod=998244353; long long n,K,k1,k2,f[50][50000],pw[100]; int main() { n=read(),K=read(),k1=read(),k2=read(); pw[0]=1; for(int i=1;i<=n+1;i++) pw[i]=(pw[i-1]*k1%11+11)%11; f[2][pw[n]*k1+pw[n-1]*k2+PY]=1; for(int i=3;i<=n+1;i++) for(long long k=-K;k<=K;k++) for(long long o=-PY+k*pw[n-i+1];o<=PY+k*pw[n-i+1];o++) f[o+PY]=(f[o+PY]+f[o-pw[n-i+1]*k+PY])%mod; cout<<f[n+1][k2+PY]; return 0; }