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 ");continue;} printf("%0.6lf ",1-m/(n+1)); } }