Quả nặng thứ 101

Xem dạng PDF

Gửi bài giải

Điểm: 800 (OI)
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, PyPy, Python, Racket, Ruby, Rust, Scala, Scheme, Scratch, Sed, Swift, TCL, Turing, VB, Zig

Một chiếc cân đĩa đang lệch về phía bên trái bởi một quả nặng có khối lượng là x, quả nặng này gọi là quả nặng thứ 101. Bạn được cho 100 quả nặng khác w1,w2,,w100, trong đó:

  • w1=1 (g)
  • w2=2 (g)
  • wi=wi1+wi2,i[3,100]

Hãy sử dụng các quả nặng trên để đưa chiếc cân đĩa cân bằng trở lại. Nếu có nhiều phương án, hãy in ra phương án sử dụng ít quả nặng nhất.

Input

Dữ liệu vào gồm hai số nguyên dương LR (LR, RL100). Bạn sẽ giải bài toán với mọi số nguyên dương x trong đoạn [L,R].

Output

Xuất ra RL+1 nhóm dòng, mỗi nhóm gồm 3 dòng:

  • Dòng 1: Một số nguyên dương k (k1) là số quả nặng cần dùng (bao gồm quả nặng ban đầu).
  • Dòng 2: Một số nguyên dương k0 (k01), kế tiếp là k0 số nguyên dương mô tả các quả nặng ở đĩa cân bên trái. Các quả nặng được in ra theo thứ tự giảm dần về khối lượng, và bắt buộc phải có quả cân thứ 101.
  • Dòng 3: Một số nguyên dương k1 (k11, k0+k1=k), kế tiếp là k1 số nguyên dương mô tả các quả nặng ở đĩa cân bên phải. Các quả nặng được in ra theo thứ tự giảm dần về khối lượng.

Ví dụ

Sample Input

Copy
25 27

Sample Output

Copy
4
3 25 8 1
1 34
3
1 26
2 21 5
4
2 27 8
2 34 1

Giải thích

  • 25+8+1=34
  • 26=21+5
  • 27+8=34+1

Subtasks

  • Subtask 1 (20%): 1LR51
  • Subtask 2 (20%): 1LR52
  • Subtask 3 (20%): 1LR54
  • Subtask 4 (20%): 1LR58
  • Subtask 5 (20%): 1LR516

Bình luận

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



  • 0
    vandung666 
    đã bình luận 3:49:10 ch, 15/02/2025

    text 21 bi gì khó full quá