CF1558A.Charmed by the Game

普及-

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

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

题目描述

Alice and Borys are playing tennis.

A tennis match consists of games. In each game, one of the players is serving and the other one is receiving.

Players serve in turns: after a game where Alice is serving follows a game where Borys is serving, and vice versa.

Each game ends with a victory of one of the players. If a game is won by the serving player, it's said that this player holds serve. If a game is won by the receiving player, it's said that this player breaks serve.

It is known that Alice won aa games and Borys won bb games during the match. It is unknown who served first and who won which games.

Find all values of kk such that exactly kk breaks could happen during the match between Alice and Borys in total.

爱丽丝和鲍里斯正在打网球。

一场网球比赛由若干局组成。在每一局中,其中一名选手发球,另一名选手接发球。

选手轮流发球:若一局由爱丽丝发球,则下一局由鲍里斯发球;反之亦然。

每局以其中一名选手获胜结束。若发球方赢得该局,则称其“保发”;若接发方赢得该局,则称其“破发”。

已知整场比赛中爱丽丝赢了 aa 局,鲍里斯赢了 bb 局。但谁先发球、以及每局具体由谁获胜均未知。

求所有可能的整数 kk,使得爱丽丝与鲍里斯之间的这场比赛中,总共恰好发生了 kk 次破发。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1031 \le t \le 10^3). Description of the test cases follows.

Each of the next tt lines describes one test case and contains two integers aa and bb (0≤a,b≤1050 \le a, b \le 10^5; a+b>0a + b \gt 0) — the number of games won by Alice and Borys, respectively.

It is guaranteed that the sum of a+ba + b over all test cases does not exceed 2⋅1052 \cdot 10^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1031 \le t \le 10^3)。随后是测试用例的描述。

接下来的 tt 行中,每行描述一个测试用例,包含两个整数 aa 和 bb(0≤a,b≤1050 \le a, b \le 10^5;a+b>0a + b \gt 0),分别表示 Alice 和 Borys 获胜的游戏局数。

保证所有测试用例中 a+ba + b 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

For each test case print two lines.

In the first line, print a single integer mm (1≤m≤a+b+11 \le m \le a + b + 1) — the number of values of kk such that exactly kk breaks could happen during the match.

In the second line, print mm distinct integers k1,k2,…,kmk_1, k_2, \ldots, k_m (0≤k1<k2<…<km≤a+b0 \le k_1 \lt k_2 \lt \ldots \lt k_m \le a + b) — the sought values of kk in increasing order.

对每个测试用例,输出两行。

第一行,输出一个整数 mm(1≤m≤a+b+11 \le m \le a + b + 1)—— 表示在比赛中恰好发生 kk 次破发的 kk 的取值个数。

第二行,输出 mm 个互不相同的整数 k1,k2,…,kmk_1, k_2, \ldots, k_m(0≤k1<k2<…<km≤a+b0 \le k_1 \lt k_2 \lt \ldots \lt k_m \le a + b)—— 即所求的 kk 值,按升序排列。

输入输出样例

  • 输入#1

    3
    2 1
    1 1
    0 5

    输出#1

    4
    0 1 2 3
    2
    0 2
    2
    2 3

说明/提示

In the first test case, any number of breaks between 00 and 33 could happen during the match:

  • Alice holds serve, Borys holds serve, Alice holds serve: 00 breaks;
  • Borys holds serve, Alice holds serve, Alice breaks serve: 11 break;
  • Borys breaks serve, Alice breaks serve, Alice holds serve: 22 breaks;
  • Alice breaks serve, Borys breaks serve, Alice breaks serve: 33 breaks.

In the second test case, the players could either both hold serves (00 breaks) or both break serves (22 breaks).

In the third test case, either 22 or 33 breaks could happen:

  • Borys holds serve, Borys breaks serve, Borys holds serve, Borys breaks serve, Borys holds serve: 22 breaks;
  • Borys breaks serve, Borys holds serve, Borys breaks serve, Borys holds serve, Borys breaks serve: 33 breaks.

在第一个测试用例中,比赛过程中可能发生 00 到 33 次破发:

  • 爱丽丝保发,鲍里斯保发,爱丽丝保发:00 次破发;
  • 鲍里斯保发,爱丽丝保发,爱丽丝破发:11 次破发;
  • 鲍里斯破发,爱丽丝破发,爱丽丝保发:22 次破发;
  • 爱丽丝破发,鲍里斯破发,爱丽丝破发:33 次破发。

在第二个测试用例中,两名选手可能均保发(00 次破发),也可能均破发(22 次破发)。

在第三个测试用例中,可能发生 22 次或 33 次破发:

  • 鲍里斯保发,鲍里斯破发,鲍里斯保发,鲍里斯破发,鲍里斯保发:22 次破发;
  • 鲍里斯破发,鲍里斯保发,鲍里斯破发,鲍里斯保发,鲍里斯破发:33 次破发。

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

首页