trang chủ / đề bài / codebreak

Phá Mã (Gold)

Đề bài

Mô tả

Cho một cây có gốc gồm N đỉnh, đánh số từ 0 đến N−1, với đỉnh 0 là gốc. Mỗi đỉnh i (i≥1) có cha là p(i) với p(i)<i.

Một "mã khóa" là phép gán mỗi đỉnh một chữ số từ 0 đến 9. Có M ràng buộc cấm, mỗi ràng buộc gồm một đỉnh v và một chuỗi 5 chữ số s. Ràng buộc này cấm các mã khóa mà khi đọc chữ số trên đường đi từ v lên gốc (5 bước), ta thu được chuỗi s.

Cụ thể, nếu đường đi từ v lên gốc đi qua các đỉnh v,p(v),p(p(v)),p(p(p(v))),p(p(p(p(v)))), thì chuỗi chữ số tại 5 đỉnh này không được bằng s.

Đảm bảo rằng mỗi đỉnh có ít nhất 4 tổ tiên (đường đi lên gốc có ít nhất 5 đỉnh).

Hãy đếm số mã khóa bị loại bỏ (vi phạm ít nhất một ràng buộc), modulo 1234567.

Dữ liệu vào

Dòng đầu chứa hai số nguyên N và M.

  • N−1 dòng tiếp theo, dòng thứ i chứa p(i) — cha của đỉnh i (với i từ 1 đến N−1).

  • M dòng tiếp theo, mỗi dòng chứa số nguyên v và chuỗi 5 chữ số s — một ràng buộc cấm.

Dữ liệu ra

Một số nguyên duy nhất — số mã khóa bị loại bỏ, modulo 1234567.

Ràng buộc

  • 1≤N≤20000
  • 1≤M≤50000
  • 0≤p(i)<i
  • 0≤v<N
  • Chuỗi s có đúng 5 ký tự, mỗi ký tự là chữ số 0-9

Ví dụ

Input Output Giải thích
6 2
0
1
2
3
3
4 01234
5 91234
19 Cây có 6 đỉnh. Ràng buộc 1: đường từ đỉnh 4 lên (4→3→2→1→0) không được gán 01234. Ràng buộc 2: đường từ đỉnh 5 lên (5→3→2→1→0) không được gán 91234. Hai ràng buộc chia sẻ phần 1234 ở 4 đỉnh trên, nên có 19 mã khóa bị cấ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.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