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

Tô màu sỏi

Đề bài

Mô tả

Trên bàn có n đống sỏi, đống thứ i chứa ai viên sỏi. Bạn cần tô mỗi viên sỏi bằng một trong k màu cho trước sao cho với mọi màu c và mọi cặp đống i, j, số viên sỏi màu c ở hai đống chênh nhau không quá 1.

Nói cách khác, gọi bi,c là số viên sỏi màu c trong đống thứ i. Khi đó với mọi 1ck và mọi 1i,jn phải có:

|bi,cbj,c|1

Không bắt buộc phải dùng hết k màu: nếu màu c không xuất hiện trong đống i thì bi,c=0.

Hãy chỉ ra một cách tô thỏa mãn, hoặc cho biết không tồn tại cách tô nào.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương nk: số đống sỏi và số màu.
  • Dòng thứ hai chứa n số nguyên dương a1,a2,,an: số viên sỏi trong từng đống.

Dữ liệu ra

Nếu không tồn tại cách tô thỏa mãn, in ra một dòng chứa NO.

Ngược lại, dòng đầu in ra YES, sau đó in n dòng: dòng thứ i chứa ai số nguyên, số thứ j là màu của viên sỏi thứ j trong đống i (mỗi màu là một số nguyên trong đoạn [1,k]). Nếu có nhiều đáp án, in ra đáp án bất kỳ.

Ràng buộc

  • 1n,k100
  • 1ai100

Ví dụ

Input Output Giải thích
4 4
1 2 3 4
YES
1
1 2
1 2 3
1 2 3 4
Mỗi màu xuất hiện 0 hoặc 1 lần ở mỗi đống nên mọi hiệu đều không vượt quá 1. Đáp án khác cũng được chấp nhận.
5 2
3 2 4 1 3
NO Đống lớn nhất có 4 viên, đống nhỏ nhất có 1 viên. Với chỉ 2 màu, đống 4 viên phải có một màu dùng ít nhất 2 lần, trong khi đống 1 viên dùng màu đó nhiều nhất 1 lần.
5 4
3 2 4 3 5
YES
1 2 3
1 2
1 2 3 4
1 2 3
1 2 3 4 1
Màu 1 xuất hiện 1,1,1,1,2 lần ở năm đống, các màu còn lại xuất hiện nhiều nhất 1 lần mỗi đống.

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