A14862 | Let's Play the Hat?
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
The Hat is a game of speedy explanation/guessing words (similar to Alias). It's fun. Try it! In this problem, we are talking about a variant of the game when the players are sitting at the table and everyone plays individually (i.e. not teams, but individual gamers play).
$n$ people gathered in a room with $m$ tables ( $n \ge 2m$ ). They want to play the Hat $k$ times. Thus, $k$ games will be played at each table. Each player will play in $k$ games.
To do this, they are distributed among the tables for each game. During each game, one player plays at exactly one table. A player can play at different tables.
Players want to have the most "fair" schedule of games. For this reason, they are looking for a schedule (table distribution for each game) such that:
- At any table in each game there are either $\lfloor\frac{n}{m}\rfloor$ people or $\lceil\frac{n}{m}\rceil$ people (that is, either $n/m$ rounded down, or $n/m$ rounded up). Different numbers of people can play different games at the same table.
- Let's calculate for each player the value $b_i$ — the number of times the $i$ -th player played at a table with $\lceil\frac{n}{m}\rceil$ persons ( $n/m$ rounded up). Any two values of $b_i$ must differ by no more than $1$ . In other words, for any two players $i$ and $j$ , it must be true $|b_i - b_j| \le 1$ .
For example, if $n=5$ , $m=2$ and $k=2$ , then at the request of the first item either two players or three players should play at each table. Consider the following schedules:
- First game: $1, 2, 3$ are played at the first table, and $4, 5$ at the second one. The second game: at the first table they play $5, 1$ , and at the second — $2, 3, 4$ . This schedule is not "fair" since $b_2=2$ (the second player played twice at a big table) and $b_5=0$ (the fifth player did not play at a big table).
- First game: $1, 2, 3$ are played at the first table, and $4, 5$ at the second one. The second game: at the first table they play $4, 5, 2$ , and at the second one — $1, 3$ . This schedule is "fair": $b=[1,2,1,1,1]$ (any two values of $b_i$ differ by no more than $1$ ).
Find any "fair" game schedule for $n$ people if they play on the $m$ tables of $k$ games.
$n$ people gathered in a room with $m$ tables ( $n \ge 2m$ ). They want to play the Hat $k$ times. Thus, $k$ games will be played at each table. Each player will play in $k$ games.
To do this, they are distributed among the tables for each game. During each game, one player plays at exactly one table. A player can play at different tables.
Players want to have the most "fair" schedule of games. For this reason, they are looking for a schedule (table distribution for each game) such that:
- At any table in each game there are either $\lfloor\frac{n}{m}\rfloor$ people or $\lceil\frac{n}{m}\rceil$ people (that is, either $n/m$ rounded down, or $n/m$ rounded up). Different numbers of people can play different games at the same table.
- Let's calculate for each player the value $b_i$ — the number of times the $i$ -th player played at a table with $\lceil\frac{n}{m}\rceil$ persons ( $n/m$ rounded up). Any two values of $b_i$ must differ by no more than $1$ . In other words, for any two players $i$ and $j$ , it must be true $|b_i - b_j| \le 1$ .
For example, if $n=5$ , $m=2$ and $k=2$ , then at the request of the first item either two players or three players should play at each table. Consider the following schedules:
- First game: $1, 2, 3$ are played at the first table, and $4, 5$ at the second one. The second game: at the first table they play $5, 1$ , and at the second — $2, 3, 4$ . This schedule is not "fair" since $b_2=2$ (the second player played twice at a big table) and $b_5=0$ (the fifth player did not play at a big table).
- First game: $1, 2, 3$ are played at the first table, and $4, 5$ at the second one. The second game: at the first table they play $4, 5, 2$ , and at the second one — $1, 3$ . This schedule is "fair": $b=[1,2,1,1,1]$ (any two values of $b_i$ differ by no more than $1$ ).
Find any "fair" game schedule for $n$ people if they play on the $m$ tables of $k$ games.
输入格式
The first line of the input contains an integer $t$ ( $1 \le t \le 10^4$ ) — the number of test cases in the test.
Each test case consists of one line that contains three integers $n$ , $m$ and $k$ ( $2 \le n \le 2\cdot10^5$ , $1 \le m \le \lfloor\frac{n}{2}\rfloor$ , $1 \le k \le 10^5$ ) — the number of people, tables and games, respectively.
It is guaranteed that the sum of $nk$ ( $n$ multiplied by $k$ ) over all test cases does not exceed $2\cdot10^5$ .
Each test case consists of one line that contains three integers $n$ , $m$ and $k$ ( $2 \le n \le 2\cdot10^5$ , $1 \le m \le \lfloor\frac{n}{2}\rfloor$ , $1 \le k \le 10^5$ ) — the number of people, tables and games, respectively.
It is guaranteed that the sum of $nk$ ( $n$ multiplied by $k$ ) over all test cases does not exceed $2\cdot10^5$ .
输出格式
For each test case print a required schedule — a sequence of $k$ blocks of $m$ lines. Each block corresponds to one game, a line in a block corresponds to one table. In each line print the number of players at the table and the indices of the players (numbers from $1$ to $n$ ) who should play at this table.
If there are several required schedules, then output any of them. We can show that a valid solution always exists.
You can output additional blank lines to separate responses to different sets of inputs.
If there are several required schedules, then output any of them. We can show that a valid solution always exists.
You can output additional blank lines to separate responses to different sets of inputs.
输入输出样例
输入 #1
3 5 2 2 8 3 1 2 1 3
输出 #1
3 1 2 3 2 4 5 3 4 5 2 2 1 3 2 6 2 3 3 5 1 3 4 7 8 2 2 1 2 2 1 2 2 1
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted