[BOJ 26178] ETA

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

You want to design a level for a computer game. The level can be described as a connected undirected graph with vertices numbered from $1$ to $n$. In the game, the player's character is dropped at one of the $n$ vertices uniformly at random and their goal is to reach the exit located at vertex $1$ as quickly as possible. Traversing an edge takes exactly $1$ second.</p>

Figure E.1: Illustration of Sample Output 3, a level where the average optimal time to reach vertex $1$ is $\frac{7}{4}$.

The difficulty of the level is determined by the average optimal time to reach the exit. Given a target value for this average optimal time, construct a level so that this target value is reached. See Figure E.1 for an example.

입력 형식

The input consists of:</p>

  • One line with two coprime integers $a$ and $b$ ($1 \le a,b \le 1000$) separated by a '/', giving the desired average optimal time to reach the exit as the fraction $\frac{a}{b}$.
## 출력 형식

If no connected graph with the average optimal time $\frac{a}{b}$ to reach vertex $1$ exists, output "impossible". Otherwise, output one such graph in the following format:

  • Two integers $n$ and $m$ ($1 \le n, m \le 10^6$), the number of vertices and the number of edges.
  • $m$ pairs of integers $u$ and $v$ ($1 \le u,v \le n$), indicating an edge between vertices $u$ and $v$.

The graph may include self loops and parallel edges. You are given that if there exists a valid graph, then there also exists one with $1 \le n, m \le 10^6$.

If there are multiple valid solutions, you may output any one of them.

예제 입력 1

1/2

예제 출력 1

2 1
1 2

예제 입력 2

1/3

예제 출력 2

impossible

예제 입력 3

7/4

예제 출력 3

8 12
1 2
1 3
2 3
2 4
3 5
3 6
4 5
5 6
4 7
5 7
4 8
6 8

Comments

There are no comments at the moment.