/ XMU_ACM / 题库 /

Take_Your_Seat

Take_Your_Seat

Description

lyh要坐飞机去旅游,出发的时候有包括lyh在内一共n个人要上飞机。这班飞机有n个座位,第i个人的座位号是i,lyh的座位号就是1。
现在n个人按照座位号是1到n的顺序上飞机。但是lyh忘了自己的座位,于是她就等概率随机选了一个位置坐下了。而其余人都记得自己的座位。如果他们中的一个人上飞机后发现自己的位子被占了,则会在剩下的位置中等概率随机选一个坐下;如果没被占,则会直接坐在自己的位置上。
你需要计算最后一个人上飞机的人坐到了自己位置上的概率。
lyh返程的时候,包括lyh在内的m个人会按照一个随机的座位号顺序上飞机。
这班飞机有m个座位,lyh的座位号还是1.但是lyh又一次忘记了自己的座位,而且只有lyh忘记了自己的座位。现在所有人找座位的规则和出发时完全相同;lyh或任何一个发现自己座位已经被占了的人会等概率随机选择一个没被占的座位坐下。
你需要计算最后一个上飞机的人坐到了自己位置上的概率。

Input

第一行两个整数 n,m
分别表示出发时和返程时上飞机的人数。

Output

输出一行两个实数y z
y表示出发时最后一个人坐到了自己位置上的概率,z表示返程时最后一个人坐到了自己位置上的概率
四舍五入精确到小数点后6位,数据保证答案的小数点后第7位不是4或5.

Sample 1

Input

1
2 3

Output

0.500000 0.666667

Limitation

1s, 64MB for each test case.

Hint

Free Pascal Code

var a,b:longint;
begin
    readln(a,b);
    writeln(a+b);
end.

C Code

#include <stdio.h>
int main(void)
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
    return 0;
}

C++ Code

#include <iostream>
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

Python Code

a, b = [int(i) for i in raw_input().split()]
print(a + b)

Java Code

import java.io.*;
import java.util.Scanner;

public class Main {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + b);
    }
}

Source

Vijos Original

信息

难度
9
分类
(无)
标签
(无)
递交数
3
已通过
1
通过率
33%
上传者

相关

在下列比赛中:

小学期第一次课堂小测