RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
COCI00408

Vještica

Unrated 레이팅 미적용
난이도
2s
시간 제한
64MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

2 \(s / 64\) \(MB / 160\) points

Young hero, an adventurer Matej, has, after a long and strenuous journey, arrived to his final

destination – the house of evil witch Marija. In order to complete his adventure, he must

solve the final puzzle the witch gives him.

To even begin solving her puzzle, our hero needs to become familiar with the data structure

called prefix tree (trie).

A prefix tree is a data structure that represents all prefixes of words from a certain set in the

1
following way:

Each edge of the tree is denoted with a letter from the alphabet.

The root of the tree represents an empty prefix.

All other nodes in the tree represent a n\(on-em\)pty prefix in a way that each node

represents a prefix obtained by concatenating letters written on the edges that lead

from the root of the tree to that node (in that order).

There will never be two edges labeled with the same letter coming out of a single

node (this way we minimize the number of nodes necessary to represent all

prefixes).

Prefix tree for words: “A”, “to”, “tea”, “ted”, “ten”, “i”, “in”, i “inn”.

Only after Matej learned what a prefix tree was does the real puzzle begin!

The witch, as you may have guessed, has \(N\) words that consist of lowercase letters of the

English alphabet. The puzzle would be very simple if the witch wanted to know the number

^{1} A prefix of a word is a consecutive subarray of letters from the beginning of the word to a certain
position in the word.

2 \(s / 64\) \(MB / 160\) points

of nodes of the prefix tree for that set of words, but she is not interested in this. She wants to

know the minimal number of nodes a prefix tree can have after permuting the letters of

each word in an arbitrary manner .

Help Matej find the answer to the puzzle!

제약
입력 형식

The first line of input contains the integer \(N\)

(1 ≤ \(N\)

≤ 16).

Each of the following \(N\) lines contains a single word consisting of lowercase letter of the

English alphabet.

The total length of all words will be less than 1 000 000.

출력 형식

The first and only line of output must contain a number, the answer to witch Marija’s puzzle.

예제 1
입력
3
a
ab
abc
3
a
ab
c
4
baab
abab
aabb
bbaa
출력
output
output
4
4
5
설명

Clarification of the third test case:
All words can be permuted into the word “aabb”, so the prefix tree will have 5 nodes (4 + 1 for the root of

the tree – the empty prefix).

문제 정보

생성자가 기록되지 않았습니다.

출처 COCI 2016/2017 Contest 1

평가 및 의견

Vještica

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Vještica

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8