PRIMIT - Primitivus recurencis

no tags 

A genetic code of the abstract primitivus (Primitivus recurencis) is a series of natural numbers K=(a_1,...,a_n). A feature of primitivus we call each ordered pair of numbers (l,r), which appears successively in the genetic code, i.e. there exists such i that l=a_i, r=a_i+1. There are no (p,p) features in a primitivus' genetic code. 


Write a program which: 

  • reads the list of the features from the standard input,
  • computes the length of the shortest genetic code having given features,
  • writes the results to the standard output. 


The number of test cases t is in the first line of input, then t test cases follow separated by an empty line. In the first line of each test case one positive integer number n is written. It is the number of different features of the primitivus. In each of the following n lines there is a pair of natural numbers l and r separated by a single space, 1 <= l <= 1000, 1 <= r <= 1000. A pair (l, r) is one of the primitivus' features. The features do not repeat in the input file


Your program should write for each test case exactly one integer number equal to the length of the shortest genetic code of the primitivus, comprising the features from the input.


Sample input:
2 3
3 9
9 6
8 5
5 7
7 6
4 5
5 1
1 4
4 2
2 8
8 6

Sample output:

All the features from the example are written in the following genetic code:
(8, 5, 1, 4, 2, 3, 9, 6, 4, 5, 7, 6, 2, 8, 6)

Warning: enormous Input/Output data, be careful with certain languages

hide comments
Jerry Shen: 2014-08-28 15:30:16

Please give us the limit of n and test cases, so I can think of better algorithms.

Last edit: 2014-08-28 15:30:57
:D: 2010-07-20 10:35:41

Upper bound can be deduced.

madhav: 2010-05-06 20:30:56

what is the range of n?

Added by:Piotr Łowiec
Time limit:1.600s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Resource:6th Polish Olympiad in Informatics, stage 3