Đồ thị và xâu ký tự
Đề bài
Mô tả
Cho một xâu chỉ gồm các chữ cái "a", "b" và "c". Từ xâu này người ta dựng một đồ thị vô hướng gồm đỉnh (đánh số từ đến ) theo quy tắc sau:
- Với mọi cặp đỉnh , có một cạnh nối và khi và chỉ khi hai chữ cái và bằng nhau hoặc kề nhau trong bảng chữ cái.
- Hai chữ cái được coi là kề nhau nếu chúng là cặp "a"–"b" hoặc "b"–"c". Cặp "a"–"c" không kề nhau.
Sau đó xâu bị xoá đi, chỉ còn lại đồ thị . Cho trước đồ thị , hãy xác định xem có tồn tại một xâu nào đó (độ dài đúng bằng , chỉ gồm "a", "b", "c") sao cho đồ thị dựng từ trùng khớp với hay không. Nếu có, hãy đưa ra một xâu như vậy.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số đỉnh và số cạnh của đồ thị .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và — một cạnh nối hai đỉnh và .
Đảm bảo đồ thị không có cạnh lặp (mỗi cặp đỉnh xuất hiện không quá một lần).
Dữ liệu ra
- Nếu xâu tồn tại, in ra "Yes" ở dòng đầu, và ở dòng thứ hai in ra một xâu hợp lệ bất kỳ (độ dài đúng , chỉ gồm "a", "b", "c").
- Ngược lại, in ra "No".
Nếu có nhiều xâu thoả mãn, đưa ra xâu nào cũng được.
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 1 2 |
Yes bb |
Hai đỉnh có cạnh nối nên hai chữ cái phải bằng nhau hoặc kề nhau. Xâu "bb" thoả mãn; các xâu như "aa", "ab", "bc"… cũng hợp lệ. |
| 4 3 1 2 1 3 1 4 |
No | Đỉnh kề với cả ba đỉnh còn lại, nhưng ba đỉnh này lại không kề nhau. Chúng phải mang các chữ cái đôi một không kề nhau, mà chỉ có duy nhất một cặp như vậy là "a"–"c" — không đủ cho ba đỉnh. |
| 3 2 1 2 3 2 |
Yes abc |
Đỉnh kề với cả và , còn và không kề nhau. Gán "a", "b", "c" cho các đỉnh : "a"–"b" kề, "b"–"c" kề, "a"–"c" không kề — đúng với đồ thị. |
Bình luận