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

Dự đoán kết quả giải đấu

Đề bài

Mô tả

Một giải bóng đá có đúng ba đội tham gia và tổng cộng n trận đấu. Mỗi trận đều có kết quả thắng hoặc thua, không có trận hoà, nên sau mỗi trận đúng một đội được cộng thêm một trận thắng.

Hiện tại k trận đầu tiên đã diễn ra xong. Bạn không xem trận nào trong số đó, chỉ nhớ lời phỏng đoán của một người bạn: nếu gọi w1,w2,w3 lần lượt là số trận thắng của ba đội sau k trận này thì

|w1w2|=d1|w2w3|=d2.

Bạn muốn giải đấu kết thúc mà không có đội nào vô địch, tức là sau đủ n trận cả ba đội có số trận thắng bằng nhau.

Hãy xác định xem có tồn tại một kịch bản của toàn bộ n trận sao cho k trận đầu thoả mãn phỏng đoán của người bạn (với w1,w2,w3 là các số nguyên không âm có tổng bằng k) và sau n trận cả ba đội hoà nhau hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • t dòng tiếp theo, mỗi dòng chứa bốn số nguyên n, k, d1, d2 mô tả một bộ dữ liệu.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng chữ yes nếu tồn tại kịch bản để không đội nào vô địch, ngược lại in ra no.

Ràng buộc

  • 1t105
  • 1n1012
  • 0kn
  • 0d1,d2k

Ví dụ

Input Output Giải thích
5
3 0 0 0
3 3 0 0
6 4 1 0
6 3 3 0
3 3 3 2
yes
yes
yes
no
no
Bộ 1: chưa trận nào diễn ra; ba trận 1-2, 2-3, 3-1 mỗi đội thắng một trận. Bộ 3: bốn trận đã qua có thể cho (w1,w2,w3)=(2,1,1), hai trận còn lại để đội 2 và đội 3 mỗi đội thắng thêm một trận, kết thúc cả ba đội cùng 2 trận thắng. Bộ 4: mọi cách chia thoả |w1w2|=3 đều khiến một đội đã có ít nhất 3 trận thắng, vượt quá 6/3=2.
4
9 6 1 1
9 9 3 3
12 6 2 2
1 0 0 0
yes
no
yes
no
Bộ 1: (w1,w2,w3)=(3,2,1) thoả mãn và không đội nào vượt 9/3=3. Bộ 2: giải đã kết thúc (k=n) nhưng không cách chia nào cho ba số bằng nhau. Bộ 3: (w1,w2,w3)=(4,2,0). Bộ 4: n=1 không chia hết cho 3 nên ba đội không thể hoà nhau.

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