trang chủ / bài tập / luckynum2

Số may mắn 2

Đề bài

Mô tả

Một số nguyên dương được gọi là số may mắn nếu trong biểu diễn thập phân của nó chỉ chứa các chữ số 47. Ví dụ 47, 744, 4 là số may mắn, còn 5, 17, 467 thì không.

Với một số d, gọi cnt(x) là số lần xuất hiện của xâu x như một xâu con (liên tiếp) trong d. Ví dụ nếu d=747747 thì cnt(4)=2, cnt(7)=4, cnt(47)=2, cnt(74)=2.

Cho bốn số nguyên dương a1,a2,a3,a4. Hãy tìm số may mắn d nhỏ nhất (không có chữ số 0 ở đầu, hiển nhiên vì chỉ gồm chữ số 47) sao cho đồng thời:

cnt(4)=a1,cnt(7)=a2,cnt(47)=a3,cnt(74)=a4.

Nếu không tồn tại số nào thỏa mãn, in ra 1.

Dữ liệu vào

Một dòng duy nhất chứa bốn số nguyên a1,a2,a3,a4.

Dữ liệu ra

In ra số may mắn nhỏ nhất thỏa mãn điều kiện, hoặc 1 nếu không tồn tại.

Ràng buộc

  • 1a1,a2,a3,a4106

Ví dụ

Input Output Giải thích
2 2 1 1 4774 Xâu 4774 có hai chữ số 4, hai chữ số 7, một lần xuất hiện 47 và một lần 74. Đây là số nhỏ nhất thỏa mãn.
4 7 3 1 -1 Không tồn tại số may mắn nào có đúng ba lần xuất hiện 47 nhưng chỉ một lần 74 với số chữ số như trên.
1 1 1 1 -1 Với một chữ số 4 và một chữ số 7, số chỉ có thể là 47 (cho cnt(74)=0) hoặc 74 (cho cnt(47)=0), không thể có cả cnt(47)=1 lẫn cnt(74)=1.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0