trang chủ / đề bài / truthtellers

Người Nói Thật và Người Nói Dối

Đề bài

Mô tả

Có N người, mỗi người hoặc luôn nói thật hoặc luôn nói dối. Có M phát biểu, phát biểu thứ i có dạng "người x nói rằng người y là người nói thật (T) hoặc nói dối (L)".

Nếu x là người nói thật thì phát biểu của x đúng. Nếu x là người nói dối thì phát biểu của x sai (tức là thực tế ngược lại với những gì x nói).

Hãy tìm số nguyên A lớn nhất sao cho tồn tại một cách phân loại N người thành "nói thật" và "nói dối" thỏa mãn đồng thời tất cả A phát biểu đầu tiên.

Dữ liệu vào

  • Dòng 1: Hai số nguyên N và M (2≤N≤1000, 1≤M≤10000)
  • Dòng 2 đến M+1: Mỗi dòng gồm x, y và ký tự "T" hoặc "L" mô tả phát biểu thứ i

Dữ liệu ra

Một số nguyên duy nhất: giá trị A lớn nhất.

Ràng buộc

  • 2≤N≤1000
  • 1≤M≤10000

Ví dụ

Input Output Giải thích
4 3
1 4 L
2 3 T
4 1 T
2 Phát biểu 1 và 3 mâu thuẫn nhau, nhưng phát biểu 1 và 2 tương thích (người 1,2,3 nói thật, người 4 nói dối)
10 20
4 1 L
3 9 L
10 5 L
10 8 L
7 9 T
5 2 T
9 4 L
4 3 T
6 3 T
4 7 L
10 2 L
3 1 T
3 2 T
4 1 T
6 3 L
6 8 L
5 2 L
5 9 T
6 4 L
4 5 L
11 11 phát biểu đầu tiên có thể thỏa mãn đồng thời

Ghi chú

"x y T" nghĩa là x tuyên bố "y là người nói thật". "x y L" nghĩa là x tuyên bố "y là người nói dối".

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0