#P12635. [UOI 2020] Guess the Color

    ID: 14184 远端评测题 6000ms 256MiB 尝试: 0 已通过: 0 显示难度暂无评定 上传者: 标签>2020交互题Special JudgeUOI(乌克兰)

[UOI 2020] Guess the Color

背景

6-60s 256M

题目描述

给定编号从 11 到 nn 的 nn 个球。每个球都有其未知的颜色,总共有 kk 种不同的颜色。

每次查询时,你可以查看一个球,并获知当前已见过的同色球的数量(包括本次查询的球)。这种查询不会告诉你球的具体颜色。你最多可以进行 cc 次这样的查询。

你需要找到一个长度为 nn 的数组 colorscolors,其中每个元素是 11 到 kk 之间的整数,且满足 colors[i]=colors[j]colors[i]=colors[j] 当且仅当编号为 ii 和 jj 的球颜色相同。

输入格式

第一行包含四个整数 nn、kk、cc 和 gg(1≤k≤n≤1041 \leq k \leq n \leq 10^4)——分别表示球的数量、颜色的数量、最大查询次数以及测试组编号。关于 cc 的具体限制见下文。

你最多可以进行 cc 次查询。每次查询时,你需要在一行中输出数字 11 和球的编号 indexindex(1≤index≤n1 \leq index \leq n),表示你要查看的球的位置。之后,你需要输出换行符并执行 'flush' 操作。只有在执行完这些操作后,你才能读取查询结果。

当你已经知道答案时,你需要输出数字 22 和长度为 nn 的数组 colorscolors,其中每个元素是 11 到 kk 之间的整数。之后,你需要输出换行符,执行 'flush' 操作,并终止程序。

输出格式

见交互说明

5 3 100 0
0
0
1
1
0
2
3
1 1
1 2
1 3
1 4
1 5
1 1
1 3
2 1 2 1 2 3

提示

设 n=5n=5,k=3k=3,c=100c=100,且实际颜色数组为 a=[2 1 2 1 3]a = [2\ 1\ 2\ 1\ 3]。

如果你查询球 11,你会得到返回值 11。如果再次查询球 11,返回值将是 22。查询球 22 时,返回值是 11。查询球 33 时,返回值是 33。查询球 44 时,返回值是 22。查询球 55 时,返回值是 11。

之后,你可以返回数组 [2 3 2 3 1][2\ 3\ 2\ 3\ 1]。这个答案是正确的。

评分标准

  • (77 分)n≤104n \leq 10^4;k=n−1k = n-1;c=5⋅104c = 5 \cdot 10^4;只有两个球同色,其余球颜色各不相同;
  • (77 分)n≤104n \leq 10^4;k=2k = 2;c=5⋅104c = 5 \cdot 10^4;
  • (1010 分)n≤500n \leq 500;k≤nk \leq n;c=3⋅105c = 3 \cdot 10^5;
  • (1414 分)n≤104n \leq 10^4;k≤10k \leq 10;c=3⋅105c = 3 \cdot 10^5;
  • (1515 分)n≤104n \leq 10^4;k≤nk \leq n;c=2⋅104c = 2 \cdot 10^4;每种颜色对应的球的数量互不相同,且每种颜色至少出现一次;
  • (最多 4747 分)n≤104n \leq 10^4;k≤nk \leq n;c=4⋅106c = 4 \cdot 10^6:
    • 77 分:使用不超过 4⋅1064 \cdot 10^6 次查询;
    • 1717 分:使用不超过 10610^6 次查询;
    • 3232 分:使用不超过 6⋅1056 \cdot 10^5 次查询;
    • 4747 分:使用不超过 3⋅1053 \cdot 10^5 次查询。

翻译由 DeepSeek V3 完成