CF398B.Painting The Wall

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

User ainta decided to paint a wall. The wall consists of _n_2 tiles, that are arranged in an n × n table. Some tiles are painted, and the others are not. As he wants to paint it beautifully, he will follow the rules below.

  1. Firstly user ainta looks at the wall. If there is at least one painted cell on each row and at least one painted cell on each column, he stops coloring. Otherwise, he goes to step 2.
  2. User ainta choose any tile on the wall with uniform probability.
  3. If the tile he has chosen is not painted, he paints the tile. Otherwise, he ignores it.
  4. Then he takes a rest for one minute even if he doesn't paint the tile. And then ainta goes to step 1.

However ainta is worried if it would take too much time to finish this work. So he wants to calculate the expected time needed to paint the wall by the method above. Help him find the expected time. You can assume that choosing and painting any tile consumes no time at all.

用户 ainta 决定粉刷一面墙。这面墙由 n2n^2 块瓷砖组成,排列成一个 n×nn \times n 的方阵。其中一些瓷砖已被粉刷,其余尚未粉刷。为了使粉刷效果美观,他将遵循以下规则:

  1. 首先,ainta 观察墙面。如果每一行至少有一个已粉刷的格子,且每一列也至少有一个已粉刷的格子,则他停止粉刷;否则,他进入第 2 步。
  2. ainta 以均匀概率随机选择墙上的任意一块瓷砖。
  3. 若所选瓷砖尚未粉刷,则他将其粉刷;否则,他忽略该操作。
  4. 然后,无论是否实际进行了粉刷,他都休息一分钟,之后返回第 1 步。

然而,ainta 担心完成这项工作所需时间过长,因此他希望计算出按上述方法粉刷完墙面所需的期望时间。请你帮助他求出该期望时间。你可以假设选择瓷砖及粉刷瓷砖本身不消耗任何时间。

输入格式

The first line contains two integers n and m (1 ≤ n ≤ 2·103; 0 ≤ m ≤ min(_n_2, 2·104)) — the size of the wall and the number of painted cells.

Next m lines goes, each contains two integers r__i and c__i (1 ≤ r__i, c__i ≤ n) — the position of the painted cell. It is guaranteed that the positions are all distinct. Consider the rows of the table are numbered from 1 to n. Consider the columns of the table are numbered from 1 to n.

第一行包含两个整数 nn 和 mm(1≤n≤2⋅1031 \leq n \leq 2\cdot10^3;0≤m≤min⁡(n2,2⋅104)0 \leq m \leq \min(n^2, 2\cdot10^4))—— 分别表示墙的尺寸以及已被涂色的格子数量。

接下来的 mm 行中,每行包含两个整数 rir_i 和 cic_i(1≤ri,ci≤n1 \leq r_i, c_i \leq n)—— 表示被涂色格子的位置。保证所有位置互不相同。表格的行编号从 11 到 nn,列编号也从 11 到 nn。

输出格式

In a single line print the expected time to paint the wall in minutes. Your answer will be considered correct if it has at most 10 - 4 absolute or relative error.

在一行中输出粉刷墙壁的期望时间(单位:分钟)。只要你的答案绝对误差或相对误差不超过 10−410^{-4},即视为正确。

输入输出样例

  • 输入#1

    5 2
    2 3
    4 1

    输出#1

    11.7669491886
  • 输入#2

    2 2
    1 1
    1 2

    输出#2

    2.0000000000
  • 输入#3

    1 1
    1 1

    输出#3

    0.0000000000

输入解题思路,AI测评打分。不知道怎么写?

首页