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

Mật khẩu bí mật

Đề bài

Mô tả

Một hệ thống chấm bài lưu trữ danh sách n mật khẩu, mỗi mật khẩu là một xâu gồm các chữ cái Latin thường. Hệ thống coi hai mật khẩu abtương đương nếu:

  • tồn tại một chữ cái xuất hiện trong cả ab; hoặc
  • tồn tại một mật khẩu c trong danh sách sao cho c tương đương với ac tương đương với b.

Đúng một mật khẩu trong danh sách là mật khẩu của quản trị viên. Nếu ta thử đăng nhập bằng một mật khẩu tương đương với mật khẩu của quản trị viên thì ta truy cập được hệ thống.

Không biết mật khẩu nào là của quản trị viên, hãy tính số mật khẩu ít nhất cần thử để chắc chắn truy cập được hệ thống.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: số mật khẩu trong danh sách.
  • n dòng tiếp theo, mỗi dòng chứa một xâu khác rỗng si gồm các chữ cái Latin thường. Một số mật khẩu có thể trùng nhau.

Dữ liệu ra

Một dòng duy nhất chứa số mật khẩu ít nhất cần thử để chắc chắn truy cập được hệ thống.

Ràng buộc

  • 1n2·105
  • 1|si|50
  • Tổng độ dài các mật khẩu không vượt quá 106.

Ví dụ

Input Output Giải thích
4
a
b
ab
d
2 Ba mật khẩu a, b, ab tương đương với nhau (a và ab cùng chứa chữ a, b và ab cùng chứa chữ b). Mật khẩu d không tương đương với mật khẩu nào khác. Cần thử 2 mật khẩu: một mật khẩu trong nhóm đầu và mật khẩu d.
3
ab
bc
abc
1 Cả ba mật khẩu tương đương với nhau, nên thử một mật khẩu bất kỳ là đủ.
5
aaa
bbb
ccc
ddd
ab
3 Mật khẩu ab nối aaa với bbb thành một nhóm; ccc và ddd đứng riêng. Tổng cộng 3 nhó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.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