#P3471. [POI 2008] POC-Trains
[POI 2008] POC-Trains
Description
The Trains of Colour Parade begins tomorrow in Byteotia.
Intense preparations are already in progress at the station’s auxiliary tracks. There are parallel tracks at the station, numbered from to . Train no. occupies the track.
Every train consists of cars, and each car is painted with one of 26 colours (denoted by lowercase letters of the English alphabet).
We say that two trains look the same if their corresponding cars are painted the same colour.
Throughout the parade a crane will switch places of certain pairs of cars. The real parade, however, will take place tomorrow.
Today the train dispatcher, Byteasar, watched the general rehearsal closely. He even wrote down the sequence of car swaps.
Byteasar particularly dislikes many trains looking the same.
For each train he would like to calculate the maximum number of trains that, at some moment, look the same as train at that very moment.
Task
Write a program that:
- reads the descriptions of the trains occupying the tracks and the sequence of car swaps,
- for each train determines the maximum number of trains that look the same as it at some moment,
- writes out the result.
Given strings, each of length . There are operations, each swapping two characters. For each string, find the maximum number of strings that are identical to it at some moment.
Input Format
The first line of input contains three integers , and (, , ), denoting respectively the number of trains, their common length, and the number of car swaps. The following lines contain descriptions of the trains on successive tracks.
The of these lines consists of lowercase letters of the English alphabet, denoting the colours of successive cars of the train. Then lines describing the car swaps follow, in the order of the swaps. The line contains four integers , , , (, , or ), denoting the car swap—the car no. of train no. is swapped with the car no. of train no. .
Output Format
Your program should write out exactly lines. The line should contain one integer—the number of trains that, at some moment, look the same as train no. .
5 6 7
ababbd
abbbbd
aaabad
caabbd
cabaad
2 3 5 4
5 3 5 5
3 5 2 2
1 2 4 3
2 2 5 1
1 1 3 3
4 1 5 6
3
3
3
2
3
Hint
The figure presents the successive car swaps:
track 1: ababbd ababbd ababbd ababbd aaabbd aaabbd aaabbd aaabbd
track 2: abbbbd ababbd ababbd aaabbd aaabbd acabbd acabbd acabbd
track 3: aaabad -> aaabad -> aaabad -> aaabbd -> aaabbd -> aaabbd -> aaabbd -> aaabbd
track 4: caabbd caabbd caabbd caabbd cabbbd cabbbd cabbbd dabbbd
track 5: cabaad cabbad caabbd caabbd caabbd aaabbd aaabbd aaabbc
(0) (1) (2) (3) (4) (5) (6) (7)
The number of trains looking the same as either of trains no. 1, 2, or 3 was maximal at time (4) (when all three looked the same). The number of trains looking the same as train no. 5 was maximal at times (5) and (6). The number of trains looking the same as train no. 4 was maximal at time (2).
Translated by ChatGPT 5
京公网安备 11011102002149号