CF513D2.Constrained Tree

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The first line of input contains two integers nn and cc . The next cc lines contain 2 integers aia_{i} , bib_{i} ( 1<=ai,bi<=n1<=a_{i},b_{i}<=n ) and either "LEFT" or "RIGHT" denoting whether bb is in the subtree rooted at aia_{i} 's left child or in the subtree rooted at aia_{i} 's right child.

The problem consists of multiple subproblems. The subproblems have different constraints on the input. You will get some score for the correct submission of the subproblem. The description of the subproblems follows.

  • In subproblem D1 ( 99 points), the constraints 1<=n<=1001<=n<=100 , 1<=c<=501<=c<=50 will hold.
  • In subproblem D2 ( 88 points), the constraints 1<=n<=10000001<=n<=1000000 , 1<=c<=1000001<=c<=100000 will hold.

输入格式

Output will be on a single line.

Any binary tree that satisfies the constraints will be accepted. The tree's nodes should be printed out as nn space separated labels representing an in-order traversal, using the pre-order numbers as labels of vertices.

If there are no trees that satisfy the constraints, print "IMPOSSIBLE" (without quotes).

输出格式

Consider the first sample test. We need to find a tree with 3 nodes that satisfies the following two constraints. The node labeled 2 with pre-order traversal should be in the left subtree of the node labeled 1 with pre-order traversal; the node labeled 3 with pre-order traversal should be in the right subtree of the node labeled 1. There is only one tree with three nodes that satisfies these constraints and its in-order traversal is (2,1,3)(2,1,3) .

Pre-order is the "root – left subtree – right subtree" order. In-order is the "left subtree – root – right subtree" order.

For other information regarding in-order and pre-order, see http://en.wikipedia.org/wiki/Tree_traversal.

输入输出样例

  • 输入#1

    3 2
    1 2 LEFT
    1 3 RIGHT
    

    输出#1

    2 1 3
    
  • 输入#2

    3 2
    1 2 RIGHT
    1 3 LEFT
    

    输出#2

    IMPOSSIBLE
    

说明/提示

Consider the first sample test. We need to find a tree with 3 nodes that satisfies the following two constraints. The node labeled 2 with pre-order traversal should be in the left subtree of the node labeled 1 with pre-order traversal; the node labeled 3 with pre-order traversal should be in the right subtree of the node labeled 1. There is only one tree with three nodes that satisfies these constraints and its in-order traversal is (2,1,3)(2,1,3) .

Pre-order is the "root – left subtree – right subtree" order. In-order is the "left subtree – root – right subtree" order.

For other information regarding in-order and pre-order, see http://en.wikipedia.org/wiki/Tree_traversal.

首页