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

Boboniu Thích Tô Màu Bi

Đề bài

Mô tả

Bạn có r viên bi đỏ, g viên bi xanh lá, b viên bi xanh dương và w viên bi trắng.

Bạn được phép thực hiện thao tác sau bao nhiêu lần tùy ý:

  • Chọn một viên bi đỏ, một viên bi xanh lá và một viên bi xanh dương, rồi đổi màu cả ba viên thành màu trắng.

Nói cách khác, mỗi thao tác giảm số bi đỏ, xanh lá, xanh dương đi 1 (yêu cầu cả ba đều còn ít nhất một viên) và tăng số bi trắng lên 3.

Hãy xác định xem sau một số lần thao tác (có thể bằng 0) ta có thể xếp toàn bộ các viên bi thành một dãy đối xứng (palindrome) hay không. Một dãy được coi là đối xứng nếu nó đọc từ trái sang phải giống hệt đọc từ phải sang trái; dãy rỗng cũng được coi là đối xứng.

Dữ liệu vào

  • Dòng đầu chứa số nguyên T là số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một dòng chứa bốn số nguyên r, g, b, w.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra "Yes" nếu có thể xếp thành dãy đối xứng, ngược lại in ra "No".

Ràng buộc

  • 1T100
  • 0r,g,b,w109

Ví dụ

Input Output Giải thích
4
0 1 1 1
8 1 9 3
0 0 0 0
1000000000 1000000000 1000000000 1000000000
No
Yes
Yes
Yes
Bộ 1: không thể thao tác (không đủ cả ba màu), mà ba viên khác màu không thể xếp đối xứng. Bộ 2: sau một thao tác (8,1,9,3)(7,0,8,6), một dãy đối xứng khả dĩ là "rrrwwwbbbbrbbbbwwwrrr".
1
1 0 3 1
No Không đủ cả ba màu để thao tác; số lượng các màu có hai giá trị lẻ nên không xếp đối xứng được.

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