VOI 12 Bài 4 - Bản vanxơ Fibonacci

Xem dạng PDF

Gửi bài giải


Điểm: 0,21 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
VOI 2012
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bản vanxơ Fibonacci là một bản nhạc mà giai điệu của nó bắt nguồn từ một trong những dãy số nổi tiếng nhất trong Lý thuyết số - dãy số Fibonacci. Hai số đầu tiên của dãy là số ~1~ và số ~2~, các số tiếp theo được xác định bằng tổng của ~2~ số liên tiếp ngay trước nó trong dãy.

Bản vanxơ Fibonacci thu được bằng việc chuyển dãy số Fibonacci thành dãy các nốt nhạc theo qui tắc chuyển một số nguyên dương thành nốt nhạc sau đây:

  • Số ~1~ tương ứng với nốt Đô ~\left(C\right)~.
  • Số ~2~ tương ứng với nốt Rê ~\left(D\right)~.
  • Số ~3~ tương ứng với nốt Mi ~\left(E\right)~.
  • Số ~4~ tương ứng với nốt Fa ~\left(F\right)~.
  • Số ~5~ tương ứng với nốt Sol ~\left(G\right)~.
  • Số ~6~ tương ứng với nốt La ~\left(A\right)~.
  • Số ~7~ tương ứng với nốt Si ~\left(B\right)~.
  • Số ~8~ tương ứng với nốt Đô ~\left(C\right)~.
  • Số ~9~ tương ứng với nốt Rê ~\left(D\right)~.

và cứ tiếp tục như vậy. Ví dụ, dãy gồm 6 số Fibonacci đầu tiên ~1, 2, 3, 5, 8~ và ~13~ tương ứng với dãy các nốt nhạc ~C, D, E, G, C~ và ~A~.

Để xây dựng nhịp điệu vanxơ người ta đi tìm các đoạn nhạc có tính chu kỳ trong bản vanxơ Fibonacci. Đoạn nhạc được gọi là có tính chu kỳ nếu như có thể chia nó ra thành ~k \geq 2~ đoạn giống hệt nhau. Ví dụ, đoạn nhạc ~GCAGCA~ là đoạn có tính chu kỳ, vì nó gồm 2 đoạn giống nhau ~GCA~.

Yêu cầu : Cho trước hai số nguyên dương ~u, v~ ~\left(u < v\right)~, hãy xác định độ dài đoạn nhạc dài nhất có tính chu kỳ của bản nhạc gồm dãy các nốt nhạc của bản vanxơ Fibonacci bắt đầu từ vị trí ~u~ kết thúc ở vị trí ~v~.

Input

  • Dòng thứ nhất chứa số nguyên dương ~k~ ~\left(k \leq 100\right)~ là số lượng test.
  • Dòng thứ ~i~ trong số ~k~ dòng tiếp theo chứa ~2~ số nguyên dương ~u_{i}, v_{i}~ được ghi cách nhau bởi dấu cách ~\left(u_{i} < v_{i} \leq 10^{9}\right)~ là vị trí bắt đầu và kết thúc của ~1~ bản nhạc.

Output

Ghi ra ~k~ dòng, dòng thứ ~i~ chứa ~1~ số nguyên là độ dài đoạn nhạc tìm được tương ứng với test thứ ~i~. Nếu không tìm được đoạn nào có tính chu kỳ thì ghi ra số ~-1~.

Giới hạn

~50\%~ số tests ứng với ~50\%~ số điểm có ~u_{i} < v_{i} \leq 100~.

Sample Input

2
1 3
4 10

Sample Output

-1
2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.