trang chủ / đề bài / histdate

Sửa ngày trong lịch sử

Đề bài

Mô tả

Cho dãy n năm y1,y2,…,yn, trong đó mỗi yi là một số nguyên có đúng 4 chữ số (từ 1000 đến 9999).

Hãy tìm dãy z1,z2,…,zn thỏa mãn đồng thời các điều kiện sau:

  • 1000≤zi≤2011 với mọi i.
  • z1≤z2≤…≤zn (dãy không giảm).
  • zi khác yi ở nhiều nhất một vị trí chữ số (so sánh theo từng vị trí; zi luôn được viết bằng đúng 4 chữ số và không được có chữ số 0 ở vị trí đầu).

Nếu tồn tại nhiều dãy thỏa mãn, in ra một dãy bất kỳ. Nếu không tồn tại dãy nào, in ra No solution.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • n dòng tiếp theo, dòng thứ i chứa một số nguyên yi.

Dữ liệu ra

  • Nếu có lời giải: in ra n dòng, dòng thứ i chứa số zi.
  • Nếu không có lời giải: in ra dòng duy nhất No solution.

Ràng buộc

  • 1≤n≤1000
  • 1000≤yi≤9999

Ví dụ

Input Output Giải thích
3
1875
1936
1721
1075
1136
1221
Mỗi zi khác yi đúng một chữ số (vị trí đầu) và tạo thành dãy không giảm. Đáp án 1835, 1836, 1921 cũng được chấp nhận — bài có nhiều lời giải.
4
9999
2000
3000
3011
1999
2000
2000
2011
Đổi chữ số đầu của 9999 thành 1, của 3000 thành 2, của 3011 thành 2.
3
1999
5055
2000
No solution Sau z1=1999, z2 phải nằm trong [1999,2011]. Từ 5055 chỉ được đổi đúng một chữ số nên không thể tạo ra số trong khoảng này.

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