编程题:模拟
孩子们在学校里玩得很开心,而不是听老师讲课。孩子们用iPhone手机在Facebook社交网站上互相扔西瓜。
比赛开始时,戈兰在当天的第一节课上向他的每个朋友扔了一个西瓜。在随后的课程中,所有的孩子(包括戈兰)都表现出这样的行为:
•如果他们在上节课上被奇数个西瓜击中,他们会向每个朋友扔一个西瓜;
•如果他们被偶数个西瓜(包括零个)击中,那么他们会用两个西瓜袭击他们的每个朋友。
孩子们从1号到N号,戈然是1号。孩子们之间的朋友关系也是众所周知的。
编写一个程序,计算H课后扔西瓜的总数。
### 输入格式:
第一行包含两个整数N和H(1≤N≤20, 1≤H≤ 100000000),孩子和课的数量。
以下N行中的每一行都包含一个由N个字符组成的字符串“0”或“1”。如果孩子A和B是朋友,则该矩阵中的字符(A,B)为“1”。
没有孩子会成为自己的朋友。输入矩阵将是对称的。
### 输出格式:
输出H节课后的西瓜的数量。
### 输入样例1:
in
4 1
0110
1001
1001
0110
### 输出样例1:
out
2
### 输入样例2:
in
4 2
0110
1001
1001
0110
### 输出样例2:
out
14
### 输入样例3:
in
5 3
01000
10110
01000
01001
00010
### 输出样例3:
out
26
在第二个例子中,戈兰在第一节课上扔了两个西瓜。在第二节课上,1号和4号孩子分别在2号和3号时投掷两个西瓜,2号和3号孩子分别在1号和4号时投掷一个西瓜。第二节课一共扔了12个西瓜。
答案:若无答案欢迎评论
比赛开始时,戈兰在当天的第一节课上向他的每个朋友扔了一个西瓜。在随后的课程中,所有的孩子(包括戈兰)都表现出这样的行为:
•如果他们在上节课上被奇数个西瓜击中,他们会向每个朋友扔一个西瓜;
•如果他们被偶数个西瓜(包括零个)击中,那么他们会用两个西瓜袭击他们的每个朋友。
孩子们从1号到N号,戈然是1号。孩子们之间的朋友关系也是众所周知的。
编写一个程序,计算H课后扔西瓜的总数。
### 输入格式:
第一行包含两个整数N和H(1≤N≤20, 1≤H≤ 100000000),孩子和课的数量。
以下N行中的每一行都包含一个由N个字符组成的字符串“0”或“1”。如果孩子A和B是朋友,则该矩阵中的字符(A,B)为“1”。
没有孩子会成为自己的朋友。输入矩阵将是对称的。
### 输出格式:
输出H节课后的西瓜的数量。
### 输入样例1:
in
4 1
0110
1001
1001
0110
### 输出样例1:
out
2
### 输入样例2:
in
4 2
0110
1001
1001
0110
### 输出样例2:
out
14
### 输入样例3:
in
5 3
01000
10110
01000
01001
00010
### 输出样例3:
out
26
在第二个例子中,戈兰在第一节课上扔了两个西瓜。在第二节课上,1号和4号孩子分别在2号和3号时投掷两个西瓜,2号和3号孩子分别在1号和4号时投掷一个西瓜。第二节课一共扔了12个西瓜。
答案:若无答案欢迎评论