[COCI1920 - Contest 02] Bài 3: Checker

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 3.0s
Bộ nhớ: 512M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

“...lừa tôi một lần, xấu hổ — xấu hổ cho bạn. Lừa tôi — bạn không thể lừa lần nữa.” – W. Trong bài này, chúng ta sẽ quan sát các đa giác đều có mỗi cạnh trong số ~N~ cạnh được tô màu bằng một trong ba màu và các đỉnh của chúng được đánh số từ ~1~ đến ~N~ theo chiều kim đồng hồ. Một phép phân tam giác của một đa giác là một phép phân chia diện tích của nó thành một tập hợp các tam giác không chồng chéo nhau, có các cạnh hoặc nằm trên các cạnh của đa giác hoặc là các đường chéo bên trong của nó. Tất nhiên, trong bài này, mỗi đường chéo được sử dụng để phân tam giác đa giác cũng được tô màu bằng một trong ba màu. Phép phân tam giác được gọi là yêu nước nếu mỗi trong số ~N − 2~ tam giác của nó có tất cả ba cạnh với ba màu khác nhau. Nhiệm vụ của bạn là xác định xem một đa giác đã cho với các đường chéo của nó có được phân tam giác không và liệu phép phân tam giác đó có yêu nước không.

Input

  • Dòng đầu tiên chứa số lượng tiểu mục mà trường hợp kiểm tra cụ thể này thuộc về (xem bảng trong phần chấm điểm). Nếu giải pháp của bạn không quan tâm đến điều đó, chỉ cần đọc số và thoải mái bỏ qua nó.
  • Dòng thứ hai chứa một số nguyên ~N~ theo mô tả bài toán.
  • Dòng thứ ba chứa một số nguyên bao gồm ~N~ chữ số đại diện cho màu của các cạnh đa giác. Cụ thể hơn, chữ số đầu tiên đại diện cho màu của cạnh ~(1, 2)~, chữ số thứ hai đại diện cho màu của cạnh ~(2, 3)~, và cứ tiếp tục như vậy cho đến chữ số thứ ~N~ đại diện cho màu của cạnh ~(N, 1)~. Các màu sẽ luôn được ký hiệu bằng các chữ số ~1, 2~ và ~3~.
  • Mỗi dòng trong số ~N − 3~ dòng tiếp theo chứa một mô tả về một đường chéo dưới dạng ~X~ ~Y~ ~C~, trong đó ~X~ và ~Y~ là các đỉnh của đa giác và ~C~ là màu của đường chéo ~(1 \leq X, Y \leq N, 1 \leq C \leq 3)~. Mỗi dòng mô tả một đường chéo hợp lệ, nghĩa là các đỉnh ~X~ và ~Y~ sẽ không bằng nhau và không liền kề nhau.

Output

  • Nếu đa giác đầu vào không được phân tam giác đúng, bạn nên xuất ra ~neispravna~ ~triangulacija~ (phân tam giác không hợp lệ trong tiếng Croatia).
  • Nếu đa giác đầu vào được phân tam giác đúng nhưng phép phân tam giác không yêu nước, bạn nên xuất ra ~neispravno~ ~bojenje~ (tô màu không hợp lệ trong tiếng Croatia).
  • Nếu đa giác đầu vào được phân tam giác đúng và phép phân tam giác đó là yêu nước, bạn nên xuất ra ~tocno~ (chính xác trong tiếng Croatia).

Chú ý

  • ~12~ điểm thỏa mãn ~4 \leq N \leq 300~.
  • ~17~ điểm ~4 \leq N \leq 2000~.
  • ~23~ điểm thỏa mãn ~4 \leq N \leq 2 \times 10^5~, đầu ra là ~neispravna~ ~triangulacija~ hoặc ~tocno~.
  • ~23~ điểm thỏa mãn ~4 \leq N \leq 2 times 10^5~, đầu ra là ~neispravno~ ~bojenje~ hoặc ~tocno~.
  • ~35~ điểm thỏa mãn ~4 \leq N \leq 2 \times 10^5~.

Không giống như bài Trobojnica từ vòng 1, nếu chương trình của bạn xuất đúng dòng đầu tiên trong mỗi trường hợp kiểm tra của một tiểu mục nhất định, bạn sẽ nhận được 100% số điểm dành cho tiểu mục đó.

Sample Input 1

1
5
12113
1 3 3
2 5 2

Sample Ouput 1

neispravna triangulacija

Sample Input 2

1
4
1212
1 3 2

Sample Ouput 2

neispravno bojenje

Sample Input 3

1
7
1223121
1 3 3
3 5 1
5 7 3
7 3 2

Sample Ouput 3

tocno

Giải thích

Minh họa cho các test 1


Bình luận đầu tiên

Bình luận

Không có bình luận nào.