trang chủ / đề bài / dhbb20_10_led

LED

Đề bài

Mô tả

Minh nhận được một chiếc máy tính bấm tay màn hình LCD. Màn hình được chia thành các ô biểu diễn chữ số, mỗi ô gồm 7 vạch LED và mỗi chữ số sẽ tương ứng với một số vạch LED được kích hoạt nổi màu đen trên ô đó.

Đặt tên 7 vạch của một ô như sau: a là vạch ngang trên cùng, b là vạch dọc bên phải phía trên, c là vạch dọc bên phải phía dưới, d là vạch ngang dưới cùng, e là vạch dọc bên trái phía dưới, f là vạch dọc bên trái phía trên, g là vạch ngang ở giữa. Cách hiển thị các chữ số như sau:

Chữ số Các vạch được kích hoạt Số vạch
0 a,b,c,d,e,f 6
1 b,c 2
2 a,b,d,e,g 5
3 a,b,c,d,g 5
4 b,c,f,g 4
5 a,c,d,f,g 5
6 a,c,d,e,f,g 6
7 a,b,c 3
8 a,b,c,d,e,f,g 7
9 a,b,c,d,f,g 6

Minh bấm số nguyên dương N hiển thị trên màn hình và thắc mắc 2 câu hỏi:

  1. Có bao nhiêu vạch LED được kích hoạt để hiển thị số N.
  2. Tính số lượng các số lớn hơn N, có thể được hiển thị bởi kích hoạt thêm ít nhất một vạch LED ngoài các vạch đang được kích hoạt để hiển thị số N (không tắt bất kỳ vạch LED nào đang hiển thị và không kích hoạt vạch LED trên ô chưa có vạch kích hoạt).

Yêu cầu: Hãy lập trình giúp Minh trả lời 2 câu hỏi trên.

Dữ liệu vào

  • Dòng đầu tiên ghi mã câu hỏi V là 1 hoặc 2.
  • Dòng thứ hai ghi số nguyên dương N (không bắt đầu bởi chữ số 0).

Dữ liệu ra

  • Nếu V=1 thì in ra số vạch LED được kích hoạt để hiển thị số N.
  • Nếu V=2 thì in ra số lượng số lớn hơn N, có thể được hình thành bằng cách kích hoạt thêm ít nhất một vạch LED, bên cạnh các vạch đã kích hoạt được sử dụng để hiển thị số N.

Ràng buộc

  • V∈{1,2}.
  • 1≤N≤1018.

Subtasks

  • Subtask 1 (45% số điểm): V=1, N≤1018.
  • Subtask 2 (20% số điểm): V=2, N<20.
  • Subtask 3 (35% số điểm): V=2, 20≤N≤1018.

Ví dụ

Input Output Giải thích
1
823
17 Số 8 dùng 7 vạch, số 2 dùng 5 vạch, số 3 dùng 5 vạch, do đó cần 17 vạch.
2
823
5 Có 5 số lớn hơn 823 là 828,829,883,888,889.
2
17
27 Ví dụ bổ sung (không có trong đề gốc). Chữ số 1 có thể thành 0,1,3,4,7,8,9, chữ số 7 có thể thành 0,3,7,8,9. Giữ chữ số đầu là 1 thì có 18,19; đổi chữ số đầu thành 3,4,7,8 hoặc 9 thì chữ số sau có 5 cách: tổng cộng 2+5·5=27 số. Các số bắt đầu bằng 0 đều nhỏ hơn 17 nên không được tính.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0