Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
49614 陈柏诚 【AB-1】函数 C++ 通过 100 137 MS 20024 KB 777 2022-05-10 13:33:12

Tests(10/10):


#include <bits/stdc++.h> using namespace std; #define ll long long ll n,K,k1,k2; const ll d=998244353; ll f[55][40005];//f[i][j]表示函数的前i项,值为j的方案数 ll Qp(ll a,ll b) { ll ans=1; while(b) { if(b&1) ans=ans*a%11; a=a*a%11; b>>=1; } return (ans+11)%11; } int main() { cin>>n>>K>>k1>>k2; ll lhn=n*K*10; //防止数组下标出现负数 f[2][Qp(k1,n)*k1+Qp(k1,n-1)*k2+lhn]=1; for(int i=3; i<=n+1; i++) { ll ki=Qp(k1,n-i+1); for(int j=-lhn; j<=lhn; j++) for(int k=-K; k<=K; k++) if(j-ki*k+lhn>=0) { f[i][j+lhn]+=f[i-1][j-ki*k+lhn]; if(f[i][j+lhn]>=d) f[i][j+lhn]-=d; } } cout<<f[n+1][k2+lhn]%d<<endl; return 0; }


测评信息: