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

Chia phe ngựa

Đề bài

Mô tả

Ở vùng đất của Dima có n con ngựa. Giữa một số cặp ngựa có quan hệ thù địch (quan hệ này là đối xứng). Mỗi con ngựa có không quá 3 kẻ thù.

Dima cần chia n con ngựa thành hai nhóm (một nhóm có thể rỗng) sao cho: mỗi con ngựa có không quá một kẻ thù nằm cùng nhóm với nó.

Hãy giúp Dima tìm một cách chia thỏa mãn.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số con ngựa và số cặp kẻ thù.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên ai,bi (1ai,bin, aibi): ngựa ai và ngựa bi là kẻ thù của nhau. Mỗi cặp kẻ thù xuất hiện đúng một lần.

Dữ liệu ra

In ra một xâu gồm n ký tự: ký tự thứ i là 0 nếu ngựa i thuộc nhóm thứ nhất, là 1 nếu ngựa i thuộc nhóm thứ hai. Nếu tồn tại nhiều cách chia hợp lệ, in ra một cách bất kỳ.

Nếu không tồn tại cách chia, in ra -1.

Ràng buộc

  • 1n3·105
  • 0m4,5·105
  • Mỗi con ngựa có không quá 3 kẻ thù.

Ví dụ

Input Output Giải thích
3 3
1 2
3 2
3 1
001 Ba con ngựa đôi một là kẻ thù. Ngựa 3 ở nhóm hai, ngựa 12 ở nhóm một: mỗi con chỉ có đúng một kẻ thù cùng nhóm. Đáp án 100 hoặc 010 cũng được chấp nhận.
2 1
2 1
00 Cả hai con cùng nhóm một: mỗi con chỉ có một kẻ thù cùng nhóm, vẫn hợp lệ.
10 6
1 2
1 3
1 4
2 3
2 4
3 4
0011000000 Bốn con ngựa 1..4 đôi một là kẻ thù. Tách {3,4} sang nhóm hai, khi đó mỗi con trong bộ tứ có đúng một kẻ thù cùng 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