trang chủ / bài tập / 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:

  • 1000zi2011 với mọi i.
  • z1z2zn (dãy không giảm).
  • zi khác yinhiề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

  • 1n1000
  • 1000yi9999

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.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