#P7471. [2017年杭电多校]Logical Chain
[2017年杭电多校]Logical Chain
Logical Chain
Problem Description
Every time you come across a problem you've never seen before, haven't you thought of something that is familiar to you? If so, you might think of something else, then more and more things will come to your mind. This is what is called ''Logical Chain''. Lu Xun's work also described such interesting phenomenon.
Assume there are things, labeled by . Little Q's mind can be expressed by a matrix . If he can think of when he comes across , then is , otherwise it's . For two different things and , if can lead to directly or indirectly and can also lead to directly or indirectly, then the pair is called a ''Looping Pair''. Little Q's mind changes all the time. On -th day, there are positions in matrix flipped( to and to ). Please write a program to figure out the number of ''Looping Pairs'' after each day's all changes. Note : and should not be counted twice.
Input
The first line of the input contains an integer , denoting the number of test cases. In each test case, there are integers in the first line, denoting the number of things and days.\par For the next lines, each line contains integers $g_{i,1},g_{i,2},...,g_{i,n}(0\leq g_{i,j}\leq 1,g_{i,i}=0)$, denoting the matrix . For the next parts, there is an integer in the first line, denoting the number of changes happened on that day. For the next lines, each line contains integers , denoting a changed position in . It is guaranteed that each position will be changed at most once per day.
Output
For each day, print a single line containing an integer, denoting the number of ''Looping Pairs'' after that day's all changes.
Sample Input
1
4 2
0010
1000
0000
0000
3
1 4
3 2
1 2
2
4 3
2 3
Sample Output
3
6
Source
2017 Multi-University Training Contest - Team 4