Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48620 | 呵呵 | 【AB-1】函数 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 745 | 2022-04-14 10:11:10 |
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,k1,k2,K,f[52][100000],MO=11; int Pow(int b,int p) { int a=b,c=p,ans=0; while(p>0) { if(p%2!=0) ans=(ans*b%MO+MO)%MO; b=(b*b%MO+MO)%MO; p=p>>1; } ans=(ans%MO+MO)%MO; return ans; } int main() { cin>>n>>K>>k1>>k; ll ioi=n*K*10; f[2][k1^n*k1+k1^(n-1)*k2+ioi]=1; for(int i=3;i<=n+1;i++) { ll a=Pow(k1,n-1+1); for(int j=-ioi;j<=ioi;j++) { if(j-Pow(k1,n-1+1)*k+ioi>10000) continue; for(int k=-K;k<=K;k++) f[i][j]+=f[i-1][j-Pow(k1,n-1+1)*k+ioi]; } } cout<<f[n+1][k2+ioi]%998244353; return 0; }