FFT

시간 제한2초메모리 제한1024 MB

요약
K가 주어질 때, 길이 2의 단순 경로 중 정점 상태가 순서대로 F, F, T인 경로가 정확히 K개인 트리 가운데 정점 수가 가장 적은 트리를 구성해 출력한다.
난이도

보통10점 중 7점

유형
트리, 수학, 그리디, 구현
정답자
아직 제출이 없습니다

문제

트리의 각 정점은 F 혹은 T 상태를 가진다.

트리에서 길이가 22인 단순 경로 중 경로 순서대로 정점 상태가 F, F, T면 FFT 경로라 부른다.

FFT 경로의 개수가 정확히 KK개인 트리 중에서 정점의 개수가 가장 적은 트리를 출력해 보자.

입력

총 TT개의 테스트 케이스가 입력으로 주어지며, 첫 번째 줄에 TT가 주어진다.

그다음 줄부터 각 테스트 케이스마다 하나의 줄에 정수 KK가 주어진다.

출력

각 테스트 케이스마다 주어진 순서대로 다음과 같이 출력한다.

  • 첫 번째 줄에 정점의 개수 NN을 출력한다.
  • 두 번째 줄에 길이가 NN인 문자열 SS를 출력한다. 문자열 SS는 F 혹은 T로만 구성된 문자열이다. 문자열 SS의 ii번째 문자는 ii번째 정점의 상태를 의미한다.
  • 그다음 줄부터 N−1N - 1개의 줄에 걸쳐 조건을 만족하는 트리의 간선 정보를 출력한다. 그중 ii번째 줄은 양의 정수 u_iu\_i, v_iv\_i를 공백으로 구분하여 출력한다. 이는 트리의 u_iu\_i번 정점과 v_iv\_i번 정점을 잇는 간선이 존재한다는 의미이다. (1≤i≤N−1)(1 \le i \le N - 1)
  • 가능한 트리가 여러 개라면 그중 아무것이나 출력한다.

제한

  • 1≤T≤1,0001 \le T \le 1\\,000
  • 1≤K≤1,000,0001 \le K \le 1\\,000\\,000
  • 1≤u_i,v_i≤N1 \le u\_i, v\_i \le N

예제1

  1. 예제 1

    입력
    3
    1
    2
    3
    
    예상 출력
    3
    FFT
    1 2
    1 3
    4
    FFTT
    1 2
    1 3
    1 4
    5
    FFTTT
    1 2
    1 3
    1 4
    1 5