B.病毒扩散(组合数学)

B.病毒扩散(组合数学)

题目传送门

题意:本题的题意可以转换为t秒内走到(x,y)的病毒有多少。即可转化有多少种路径走到(x,y)(可以选择x+1,y+1,或不动)
显然根据乘法原理有:


AC代码:

#include<bits/stdc++.h>
using namespace std;
const int mod=998244353,N=5e3;
typedef long long ll;
int c[N+5][N+5];
void fun(){
	for(int i=0;i<=N;i++) c[i][0]=c[i][i]=1;
	for(int i=2;i<=N;i++)
		for(int j=1;j<i;j++)
			c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
	}
int main(){
	fun();
	int n;
	scanf("%d",&n);
	while(n--){
		int x,y,t;
		scanf("%d%d%d",&x,&y,&t); 
		printf("%lld\n",(ll)c[t][x+y]*c[x+y][x]%mod);
	}
	return 0;
}
全部评论

相关推荐

03-05 17:03
已编辑
浙江工商大学 C++
陈好好wy:整体看下来有点空空的感觉,可以把每一段项目经历都再完善一下,然后用小标题的形式写个两到三条,目前看有点太简单了,不太能看出具体在这个项目里做了什么工作。还是要尽量把自己做的工作以量化的形式体现在简历上呢。
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务