Chia nhóm học (Groups)

Đề bài

Mô tả

n học sinh (n chẵn) tham gia một khoá học. Cần chia toàn bộ học sinh thành hai nhóm có số lượng bằng nhau (n/2 người mỗi nhóm). Mỗi nhóm sẽ học vào đúng một ngày trong tuần, chọn từ 5 ngày làm việc (thứ Hai đến thứ Sáu), và hai nhóm phải học vào hai ngày khác nhau.

Mỗi học sinh điền sẵn lịch cho biết những ngày nào trong tuần là thuận tiện đối với mình. Học sinh được xếp vào nhóm g chỉ khi ngày học của nhóm g thuận tiện cho học sinh đó.

Hãy xác định xem có tồn tại cách chọn hai ngày khác nhau và phân chia học sinh thành hai nhóm bằng nhau sao cho mọi học sinh đều được xếp vào nhóm có ngày học hợp lệ hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t (1t104) — số bộ dữ liệu.
  • Với mỗi bộ:
    • Dòng đầu chứa số nguyên chẵn n (2n1000) — số học sinh.
    • n dòng tiếp theo, mỗi dòng chứa 5 số 0 hoặc 1. Số thứ j ở dòng thứ i bằng 1 nếu học sinh i có thể học vào ngày thứ j trong tuần, bằng 0 nếu không.
  • Với mỗi học sinh có ít nhất một ngày thuận tiện. Tổng n trên tất cả các bộ dữ liệu không vượt quá 105.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra "YES" nếu có thể chia hợp lệ, ngược lại in ra "NO".

Ví dụ

Input Output Giải thích
2
4
1 0 0 1 0
0 1 0 0 1
0 0 0 1 0
0 1 0 1 0
2
0 0 0 1 0
0 0 0 1 0
YES
NO
Bộ 1: chọn nhóm 1 học thứ Năm (gồm học sinh 1 và 3), nhóm 2 học thứ Ba (gồm học sinh 2 và 4). Bộ 2: cả hai học sinh chỉ rảnh thứ Năm, không thể chia ra hai ngày khác nhau.
1
2
1 0 0 0 0
0 1 0 0 0
YES Hai học sinh, mỗi người rảnh đúng một ngày khác nhau — chia thẳng mỗi người một nhóm.

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