萌新求助
查看原帖
萌新求助
246331
mystic_qwq楼主2024/8/13 07:17

为何在洛谷IDE上可以跑过下载的数据,但是实测却全WA?检测到第一个输出的字符全是负号。

Record

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int P=998244353;
int n,m,k,v[110],C[35][35],f[35][110][35][70],pw[110][35];
int count(int x){
  return __builtin_popcountll(x);
}
#define This f[x][num][c][eva]
int dfs(int x,int num,int c,int eva){
  if(This!=-1) return This;
  if(x==n) return This=(c+count(eva)<=k);
  if(num>m||c+(!!eva)>k) return This=0;
  This=0;
  for(int i=0;i<=n-x;++i)
    (This+=pw[num][i]*C[x+i][i]%P*dfs(x+i,num+1,c+(eva+i)%2,eva+i>>1)%P)%=P;
  return This;
}
main(){
  memset(f,-1,sizeof f);
  cin>>n>>m>>k;
  for(int i=0;i<=m;++i) cin>>v[i];
  for(int i=0;i<35;++i){
    C[i][0]=1;
    for(int j=1;j<35;++j) 
      C[i][j]=(C[i-1][j-1]+C[i-1][j])%P;
  }
  for(int i=0;i<=m;++i){
    pw[i][0]=1;
    for(int j=1;j<=n;++j) 
      pw[i][j]=pw[i][j-1]*v[i]%P;
  }
  cout<<dfs(0,0,0,0);
}

In:

8 9 1
499488183 118995914 332316574 399234563 246850128 338768262 489466833 673193710 723933572 12759125

Out:

789420212
2024/8/13 07:17
加载中...