B 病毒扩散 组合数

题目链接:https://ac.nowcoder.com/acm/contest/5205/B

B 病毒扩散 组合数

 

 自我感觉这个模型挺难想的。。。另外还有一种杨辉三角的解法。。也不是很懂。。

这道题在组合数方面需要用到逆元

B 病毒扩散 组合数

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int w=1e6+5;
 5 const ll mod=998244353;
 6 ll fac[10005],ni[10005];
 7 ll quick(ll x,ll y)
 8 {
 9     ll ans=1;
10     while(y)
11     {
12         if(y&1)
13             ans=ans*x%mod;
14         x=x*x%mod;
15         y/=2;
16     }
17     return ans;
18 }
19 ll C(ll x,ll y)
20 {
21     ll ans=1;
22     ans=fac[x]*ni[y]%mod*ni[x-y]%mod;
23     return ans;
24 }
25 int main()
26 {
27     int i,j;
28     int n;
29     cin>>n;
30     fac[0]=1,ni[0]=1;
31     for(i=1;i<10005;i++)
32         fac[i]=fac[i-1]*i%mod;
33     ni[10004]=quick(fac[10004],mod-2);
34     for(i=10003;i>=0;i--)
35         ni[i]=ni[i+1]*(i+1)%mod;
36     while(n--){
37         int x,y,z;
38         scanf("%d%d%d",&x,&y,&z);
39         //x++,y++,z+=2;
40         int u=x+y;
41         if(u>z)
42         {
43             puts("0");
44             continue;
45         }
46         ll ans=C(z,u)*C(u,x)%mod;
47         printf("%lldn",ans);
48     }
49     return 0;
50 }

View Code

 

原文链接: https://www.cnblogs.com/pangbi/p/12900731.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    B 病毒扩散 组合数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348963

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午5:26
下一篇 2023年3月2日 上午5:26

相关推荐