首页 > 代码库 > [考试] 组合数,数列

[考试] 组合数,数列

Fseq
【问题描述】
一个长度为 N+M 的数列,里面有 N 个+1,M 个-1
如果一个这样的数列被称作 F 序列(Fadeness) , 当且仅当它的任意前缀和均非
负。
for example :
1,-1,1,1,-1 is a Fadeness
1,-1,-1,1,1 is not because S(3) <0
求一个数列是 Fadensee 的概率。
【输入格式】
第一行, Test , 表示测试数据的组数。
每个数据 有两个数 N,M
【输出格式】
对于每组数据,输出一个实数(保留到小数点后 6 位)
【样例输入 1】
fseq.in
3
1 0
0 1
1 1
【样例输出 1】
fseq.out
1.000000
0.000000
0.500000
【数据范围】
30%的数据: (Test<=10),(0<=N,M<=1000).
100%的数据: ( Test<=9008 ), ( 0<=N,M<=20000 )

 

结论题,不多说了。

 

代码:

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<cstring>
using namespace std;
int main(){
    freopen("fseq.in","r",stdin);
    freopen("fseq.out","w",stdout);
    int t;
    scanf("%d",&t);
    while(t--){
        double m,n;
        cin>>n>>m;
        if(m>n) {printf("0.000000\n");continue;}
        printf("%0.6lf\n",1-m/(n+1));
    }
}

 

[考试] 组合数,数列