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

Kết quả trận đấu robot rap

Đề bài

Mô tả

n robot thi đấu rap. Mỗi robot có một mức kỹ năng riêng biệt (không hai robot nào bằng nhau). Robot i thắng robot j khi và chỉ khi robot i có kỹ năng cao hơn robot j, và quan hệ thắng có tính bắc cầu.

m trận đấu diễn ra lần lượt theo thứ tự. Trận thứ i cho biết robot ui thắng robot vi.

Hãy tìm số nguyên k nhỏ nhất sao cho chỉ với kết quả của k trận đầu tiên, thứ tự xếp hạng của tất cả robot theo mức kỹ năng đã được xác định duy nhất. Nếu ngay cả khi biết kết quả của cả m trận mà vẫn còn nhiều hơn một cách xếp hạng thỏa mãn, in ra 1.

Dữ liệu đảm bảo tồn tại ít nhất một cách xếp hạng thỏa mãn toàn bộ m trận đã cho.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số robot và số trận đấu.
  • m dòng tiếp theo, dòng thứ i chứa hai số nguyên uivi cho biết trong trận thứ i robot ui thắng robot vi.

Dữ liệu ra

  • In ra số k nhỏ nhất sao cho k trận đầu tiên đã xác định duy nhất thứ tự xếp hạng, hoặc 1 nếu cả m trận vẫn không đủ.

Ràng buộc

  • 2n105
  • 1mmin(n(n1)2,105)
  • 1ui,vin, uivi
  • Không có hai trận nào cùng một cặp robot.

Ví dụ

Input Output Giải thích
4 5
2 1
1 3
2 3
4 2
4 3
4 Thứ tự từ mạnh đến yếu bắt buộc là (4,2,1,3). Cần đúng 4 trận đầu để xác định được thứ tự này; trận thứ 5 là thừa.
3 2
1 2
3 2
-1 Cả hai cách xếp (1,3,2)(3,1,2) đều thỏa mãn hai trận, nên thứ tự không xác định đượ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