您的位置:首页 > 其它

联合周赛第二场 我在哪?题解

2018-03-19 11:55 267 查看

题目连接:http://120.78.128.11/Problem.jsp?pid=3266

作为签到题,还是很多人过了的,这个题的做法有两种。

1、动态规划,很简单的,看代码吧:

1 #include<stdio.h>
2 #include<math.h>
3 typedef long long ll;
4 int C(int n,int m)
5 {
6     if(m>n)return 0;
7     ll a=1,b=1;
8     for(int i=1;i<=m;i++)
9     {
10         a*=(n+i-m);
11         b*=i;
12     }
13     return a/b;
14 }
15 int main()
16 {
17     int n;
18     scanf("%d",&n);
19     double a,b;
20     scanf("%lf%lf",&a,&b);
21     int q;
22     scanf("%d",&q);
23     while(q--)
24     {
25         int m,x,y;
26         scanf("%d%d%d",&m,&x,&y);
27         if(x+y!=m)
28         {
29             puts("0.00");
30             continue;
31         }
32         else
33         {
34             printf("%.2f\n",C(m,x)*pow(a,x)*pow(b,y));
35         }
36     }
37     return 0;
38 }
View Code

这题有个坑,当m!=x+y的时候要直接输出0.00

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: