CF1343F.Restore the Permutation by Sorted Segments

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

We guessed a permutation pp consisting of nn integers. The permutation of length nn is the array of length nn where each element from 11 to nn appears exactly once. This permutation is a secret for you.

For each position rr from 22 to nn we chose some other index ll (l<rl \lt r) and gave you the segment pl,pl+1,…,prp_l, p_{l + 1}, \dots, p_r in sorted order (i.e. we rearranged the elements of this segment in a way that the elements of this segment are sorted). Thus, you are given exactly n−1n-1 segments of the initial permutation but elements inside each segment are sorted. The segments are given to you in random order.

For example, if the secret permutation is p=[3,1,4,6,2,5]p=[3, 1, 4, 6, 2, 5] then the possible given set of segments can be:

  • [2,5,6][2, 5, 6]
  • [4,6][4, 6]
  • [1,3,4][1, 3, 4]
  • [1,3][1, 3]
  • [1,2,4,6][1, 2, 4, 6]

Your task is to find any suitable permutation (i.e. any permutation corresponding to the given input data). It is guaranteed that the input data corresponds to some permutation (i.e. such permutation exists).

You have to answer tt independent test cases.

我们猜出了一个由 nn 个整数组成的排列 pp。长度为 nn 的排列是指一个长度为 nn 的数组,其中每个从 11 到 nn 的整数恰好出现一次。该排列对你而言是保密的。

对于每个位置 rr(从 22 到 nn),我们选择另一个下标 ll(满足 l<rl \lt r),并将子段 pl,pl+1,…,prp_l, p_{l + 1}, \dots, p_r 按升序排序后提供给你(即:我们将该子段中的元素重新排列,使其成为有序序列)。因此,你恰好获得 n−1n-1 个原始排列的子段,但每个子段内部的元素是已排序的。这些子段以随机顺序提供给你。

例如,若秘密排列为 p=[3,1,4,6,2,5]p=[3, 1, 4, 6, 2, 5],则可能给出的子段集合为:

  • [2,5,6][2, 5, 6]
  • [4,6][4, 6]
  • [1,3,4][1, 3, 4]
  • [1,3][1, 3]
  • [1,2,4,6][1, 2, 4, 6]

你的任务是找出任意一个符合条件的排列(即:任一与所给输入数据对应的排列)。题目保证输入数据对应至少一个排列(即:这样的排列一定存在)。

你需要回答 tt 个相互独立的测试用例。

输入格式

The first line of the input contains one integer tt (1≤t≤1001 \le t \le 100) — the number of test cases. Then tt test cases follow.

The first line of the test case contains one integer nn (2≤n≤2002 \le n \le 200) — the length of the permutation.

The next n−1n-1 lines describe given segments.

The ii-th line contains the description of the ii-th segment. The line starts with the integer kik_i (2≤ki≤n2 \le k_i \le n) — the length of the ii-th segment. Then kik_i integers follow. All integers in a line are distinct, sorted in ascending order, between 11 and nn, inclusive.

It is guaranteed that the required pp exists for each test case.

It is also guaranteed that the sum of nn over all test cases does not exceed 200200 (∑n≤200\sum n \le 200).

输入的第一行包含一个整数 tt(1≤t≤1001 \le t \le 100),表示测试用例的数量。随后是 tt 个测试用例。

每个测试用例的第一行包含一个整数 nn(2≤n≤2002 \le n \le 200),表示排列的长度。

接下来的 n−1n-1 行描述给定的区间。

第 ii 行描述第 ii 个区间。该行以一个整数 kik_i(2≤ki≤n2 \le k_i \le n)开头,表示第 ii 个区间的长度;随后是 kik_i 个整数。每行中的所有整数互不相同,按升序排列,且均在 11 到 nn 之间(含端点)。

保证对每个测试用例均存在满足要求的排列 pp。

还保证所有测试用例的 nn 值之和不超过 200200(即 ∑n≤200\sum n \le 200)。

输出格式

For each test case, print the answer: nn integers p1,p2,…,pnp_1, p_2, \dots, p_n (1≤pi≤n1 \le p_i \le n, all pip_i should be distinct) — any suitable permutation (i.e. any permutation corresponding to the test case input).

对于每个测试用例,输出答案:nn 个整数 p1,p2,…,pnp_1, p_2, \dots, p_n(其中 1≤pi≤n1 \le p_i \le n,且所有 pip_i 互不相同)——任一满足条件的排列(即任一与该测试用例输入相对应的排列)。

输入输出样例

  • 输入#1

    5
    6
    3 2 5 6
    2 4 6
    3 1 3 4
    2 1 3
    4 1 2 4 6
    5
    2 2 3
    2 1 2
    2 1 4
    2 4 5
    7
    3 1 2 6
    4 1 3 5 6
    2 1 2
    3 4 5 7
    6 1 2 3 4 5 6
    3 1 3 6
    2
    2 1 2
    5
    2 2 5
    3 2 3 5
    4 2 3 4 5
    5 1 2 3 4 5

    输出#1

    3 1 4 6 2 5 
    3 2 1 4 5 
    2 1 6 3 5 4 7 
    1 2 
    2 5 3 4 1

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

首页