游戏扑克牌
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Alice和Bob做游戏,Alice将n张扑克牌背面朝上依次排开。每一张牌的正面花色要么是黑色,要么是红色,而背面则全部一样。其中有0,1,...,n张黑色牌的概率相等,均为\frac 1 {n+1}

现在Alice将前k_b+k_r张牌翻转,并得知其中有k_b张牌为黑色,k_r张牌为红色。而Bob则需要根据以上信息,来猜测黑色牌的数量区间[L,R]。如果黑色牌的数量不在该区间内,则Bob没有积分;否则被视为猜中,在这种情况下区间长度越小难度越高,相应的得分也就越多。Bob只有一次机会,他想要兼顾得分和猜错的风险,因此Bob采用这样一种策略进行游戏。他先确定一个自己能够接受的最差概率p,然后只考虑那些猜中概率大于等于p的区间,并在所有满足条件的区间中选一个最短的(即R-L最小的)。如果存在多个最短的,则选其中下标最小的一个(即L最小的)。

但是Bob的概率与统计学得并不是很好,因此他将这个任务交给了你。

输入描述:

本题采用多组数据。

第一行输入一个整数T(1\le T \le 100),代表数据组数。

接下来T行,每行输入四个非负整数n(1\le n \le 50),k_b(0\le k_b \le n),k_r(0\le k_r \le n-k_b),p(0\le p \le 100),分别代表扑克牌的总数,前k_b+k_r张牌中黑色牌的数量,前k_b+k_r张牌中红色牌的数量,以及以百分比形式给出的Bob所能接受的最差概率(实际概率为\frac p {100})。

输出描述:

对于每一组数据,输出一行一个整数,表示Bob所要求的区间端点LR,需要满足0 \le L \le R \le n
示例1

输入

复制
2
50 1 49 100
50 1 10 95

输出

复制
1 1
1 15