1 条题解

  • 0
    @ 2026-4-28 17:47:52
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=2e5+10,P=998244353;
    int qpow(int a,int b){int ans=1;for(;b;b>>=1,a=a*a%P)if(b&1)ans=ans*a%P;return ans;}
    int rd[N],fac[N];
    int c(int n,int m){if(n<m)return 0;return fac[n]*qpow(fac[m],P-2)%P*qpow(fac[n-m],P-2)%P;}
    signed main()
    {
    	int n,m,k;cin>>n>>m>>k;
    	fac[0]=1;for(int i=1;i<=n;i++)fac[i]=fac[i-1]*i%P;
    	for(int i=1;i<=m;i++)
    	{
    		int x,y;cin>>x>>y;
    		rd[x]++;rd[y]++;
    	}
    	int sum=0,ans=0;
    	for(int i=1;i<=n;i++)sum+=(rd[i]&1);
    	for(int i=0;i<=k;i+=2)
    		ans=(ans+c(sum,i)*c(n-sum,k-i))%P;
    	cout<<ans;
    	return 0;
    }
    • 1

    信息

    ID
    9929
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者