CF1514E.Baby Ehab's Hyper Apartment

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

This is an interactive problem.

Baby Ehab loves crawling around his apartment. It has nn rooms numbered from 00 to n−1n-1. For every pair of rooms, aa and bb, there's either a direct passage from room aa to room bb, or from room bb to room aa, but never both.

Baby Ehab wants to go play with Baby Badawy. He wants to know if he could get to him. However, he doesn't know anything about his apartment except the number of rooms. He can ask the baby sitter two types of questions:

  • is the passage between room aa and room bb directed from aa to bb or the other way around?
  • does room xx have a passage towards any of the rooms s1s_1, s2s_2, ..., sks_k?

He can ask at most 9n9n queries of the first type and at most 2n2n queries of the second type.

After asking some questions, he wants to know for every pair of rooms aa and bb whether there's a path from aa to bb or not. A path from aa to bb is a sequence of passages that starts from room aa and ends at room bb.

这是一个交互式问题。

宝宝 Ehab 喜欢在他家的公寓里爬来爬去。公寓共有 nn 个房间,编号从 00 到 n−1n-1。对于任意两个房间 aa 和 bb,要么存在一条从房间 aa 指向房间 bb 的单向通道,要么存在一条从房间 bb 指向房间 aa 的单向通道,但二者不会同时存在。

宝宝 Ehab 想去找宝宝 Badawy 一起玩。他想知道能否从自己所在房间到达宝宝 Badawy 所在房间。然而,他对公寓结构一无所知,只知道房间总数 nn。他可以向保姆提出两类问题:

  • 房间 aa 与房间 bb 之间的通道方向是从 aa 指向 bb,还是从 bb 指向 aa?
  • 房间 xx 是否存在指向房间 s1,s2,…,sks_1, s_2, \dots, s_k 中任意一个房间的通道?

他最多可提出 9n9n 个第一类问题,以及最多 2n2n 个第二类问题。

在提出若干问题后,他需要确定:对每一对房间 aa 和 bb,是否存在一条从 aa 到 bb 的路径。所谓从 aa 到 bb 的路径,是指由若干条通道构成的一个序列,该序列起始于房间 aa,终止于房间 bb。

输入格式

The first line contains an integer tt (1≤t≤301 \le t \le 30) — the number of test cases you need to solve.

Then each test case starts with an integer nn (4≤n≤1004 \le n \le 100) — the number of rooms.

The sum of nn across the test cases doesn't exceed 500500.

第一行包含一个整数 tt(1≤t≤301 \le t \le 30)—— 表示你需要求解的测试用例数量。

接下来,每个测试用例以一个整数 nn(4≤n≤1004 \le n \le 100)开始 —— 表示房间的数量。

所有测试用例中 nn 的总和不超过 500500。

输出格式

To print the answer for a test case, print a line containing "3", followed by nn lines, each containing a binary string of length nn. The jj-th character of the ii-th string should be 11 if there's a path from room ii to room jj, and 00 if there isn't. The ii-th character of the ii-th string should be 11 for each valid ii.

After printing the answer, we will respond with a single integer. If it's 11, you printed a correct answer and should keep solving the test cases (or exit if it is the last one). If it's −1-1, you printed a wrong answer and should terminate to get Wrong answer verdict. Otherwise, you can get an arbitrary verdict because your solution will continue to read from a closed stream.

对于每个测试用例,输出答案时,请先输出一行包含字符 "3",然后输出 nn 行,每行是一个长度为 nn 的二进制字符串。其中第 ii 行的第 jj 个字符应为 11 当且仅当存在一条从房间 ii 到房间 jj 的路径;否则为 00。对每个合法的 ii,第 ii 行的第 ii 个字符必须为 11。

输出答案后,系统将返回一个整数:若该整数为 11,说明你输出了正确答案,此时应继续处理后续测试用例(若已无更多测试用例,则可退出);若该整数为 −1-1,说明你输出了错误答案,此时应立即终止程序以获得 “Wrong answer” 判定;否则,由于你的程序将继续从已关闭的输入流中读取数据,你可能会得到任意判定。

输入输出样例

  • 输入#1

    1
    4
    
    0
    
    0
    
    1
    
    1
    
    1

    输出#1

    2 3 3 0 1 2
    
    1 0 1
    
    1 0 2
    
    2 2 1 1
    
    3
    1111
    1111
    1111
    0001

说明/提示

In the given example:

The first query asks whether there's a passage from room 33 to any of the other rooms.

The second query asks about the direction of the passage between rooms 00 and 11.

After a couple other queries, we concluded that you can go from any room to any other room except if you start at room 33, and you can't get out of this room, so we printed the matrix:

1111
1111
1111
0001

The interactor answered with 11, telling us the answer is correct.

在给定的例子中:

第一个查询询问:是否存在一条从房间 33 到其余任意一个房间的通路。

第二个查询询问:房间 00 与房间 11 之间的通路方向。

在进行若干次其他查询后,我们得出结论:除从房间 33 出发的情形外,任意房间均可到达其余任意房间;而一旦位于房间 33,便无法离开该房间。因此我们输出了如下矩阵:

1111
1111
1111
0001

交互器返回 11,表示该答案正确。

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

首页