以下是来自Interviewstreet的问题。有人可以给我一些测试用例和输出。我的解决方案在所有测试用例的时间限制内,但是给出了错误答案。
圆总和(30分)
有N
个孩子坐在一个圆圈上,顺时针编号为1,2,...,N
。 ith
孩子有一张纸,上面写着ai
。他们玩下面的游戏:
在第一轮中,编号为x
的孩子会将他的邻居数量加起来。
在第二轮中,顺时针顺序的孩子将他的邻居数量的总和加上他的数字,依此类推。
比赛结束后M
轮比赛结束。
输入:
第一行包含T
,即测试用例的数量。 T
个案件随之而来。测试用例的第一行包含两个空格分隔的整数N
和M
。下一行包含N
个整数,ith
个数字为ai
。
输出:
对于每个测试用例,输出N行,每行有N个整数。 jth
行上的ith
整数包含第j个孩子在游戏以第一轮中的孩子i
开始时结束的数字。在每个测试用例之后输出一个空白行,除了最后一个。由于数字可能非常大,因此以模1000000007
为模型输出。
约束:
1 <= T <= 15
3 <= N <= 50
1 <= M <= 10^9
1 <= ai <= 10^9
示例输入:
2
5 1
10 20 30 40 50
3 4
1 2 1
示例输出:
80 20 30 40 50
10 60 30 40 50
10 20 90 40 50
10 20 30 120 50
10 20 30 40 100
23 7 12
11 21 6
7 13 24
答案 0 :(得分:1)
如果它似乎对小型测试用例没问题,但不是全部,我猜你有溢出问题。
确保你......
1000000007非常接近签名的32位数字(214748367)的限制。您可以添加调制数字而不会溢出,但不能添加三个。