10492: 啊,咸鱼 —— 郑州大学第十届ACM大学生程序设计竞赛正式赛

题目链接:http://acm.zzu.edu.cn:8000/problem.php?id=10492


10492: 啊,咸鱼

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 42   Solved: 13
[ Submit][ Status][ Web Board]

Description

从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说: 西墙有咸鱼,头齐尾不齐。追星十二载,粉圈未有名。大炮扛不住,写文常死机,闲来买买买,奈何工资低。花痴有微博,追剧aqy,早晚练酷跑,弹幕刷bili。又到黄金周,未有出游意,埋头苦搬砖,摸鱼看手机。刷新复刷新,饱总杳无音,专注打广告,半月已有余。满屏挖坟匠,喟然长叹息。忽闻饱更博,平地惊雷起。垂目轻咬唇,素颜半解衣,皓腕佩名表,耳中明月玑。转评忙飙车,污言寄美意,复看众咸鱼,皆成老司机。

现在小和尚念完经之后,发现有部分咸鱼已经翻身了(虽然咸鱼翻身之后还是咸鱼,但是我们假装咸鱼翻身之后和翻身之前是不同的),于是他想做一个游戏,游戏的规则如下:

他从这些咸鱼中随机拿出两条咸鱼,如果这两条咸鱼中,有一条已经翻身,另一条没翻身,则再放入一条没有翻身的咸鱼;否则,就放入一条已经翻身的咸鱼。当只剩一条咸鱼的时候,游戏终止。请问,最后剩余的一条咸鱼是已经翻身的咸鱼的概率是多少?

Input

 第一行代表数据的组数t,接下来输入t(0 < t <= 10)组数据

每一组输入都只有一行,包含两个数n(0 <= n < 1e9)m(0 <= m < 1e9),其中n表示已经翻身的咸鱼的数量,m表示没有翻身的咸鱼的数量(n + m >= 1)。

Output

 对于每一组输入,它的输出包含一行,就是最后剩余的一条咸鱼是已经翻身的咸鱼的概率(结果保留6位小数)。

Sample Input

21 11 0

Sample Output

0.0000001.000000

HINT

Source

[ Submit][ Status][ Web Board]


题目解析:  看着很复杂,要算概率什么的,其实概率是个坑,就是两个对立事件,判断下就可以了


注:已经翻身为@,未翻身为#,==》等价于


1.    @@   —>   放入@     ==》   @  - 1

2.    ##      —>   放入@     ==》   ##换一个@

3.    @#    —>   放入#       ==》   @ -  1


@会自动减少,如果#为偶数,最后肯定剩一个@ ;如果#为奇数,最后肯定为#


#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cctype>
#include<cmath>
#define N 110
const int mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;

using namespace std;

int main()
{
    int t, m, n;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d", &m, &n);
        if(n&1) printf("%.6f\n", 0.0);
        else printf("%.6f\n", 1.0);
    }
    return 0;
}




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值