首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >算法拼图的测试用例

算法拼图的测试用例
EN

Stack Overflow用户
提问于 2012-05-20 20:57:26
回答 1查看 1.5K关注 0票数 1

以下是Interviewstreet的问题,谁能给我几个测试用例和输出。我的解决方案是在所有测试用例的时间限制内,但给出了错误的答案。

圆求和(30分)

沿着顺时针方向编号为1,2,...,N的圆圈坐着N的孩子。ith子节点上有一张写有数字ai的纸。他们玩下面的游戏:

在第一轮中,编号为x的孩子将其邻居的数字之和加到他的数字上。

在第二轮中,按顺时针顺序下一个孩子将他的数字与其邻居的数字之和相加,依此类推。

游戏在M回合结束后结束。

输入:第一行包含T,测试用例的数量。T案例如下。测试用例的第一行包含两个空格分隔的整数NM。下一行包含N整数,ith数字为ai

输出:对于每个测试用例,输出N行,每行都有N个整数。ith行上的jth整数包含当游戏开始时孩子i玩第一轮时,第j个子游戏结束时的数字。在除最后一个测试用例之外的每个测试用例后输出一个空行。因为数字可能真的很大,所以以1000000007为模输出它们。

约束条件:

代码语言:javascript
复制
1 <= T <= 15
3 <= N <= 50
1 <= M <= 10^9
1 <= ai <= 10^9

示例输入:

代码语言:javascript
复制
2
5 1
10 20 30 40 50
3 4
1 2 1

示例输出:

代码语言:javascript
复制
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 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-20 21:46:11

如果它看起来对小的测试用例没问题,但不是所有的测试用例,我猜你有溢出问题。

确保你要么..。

  • 在每次加法后进行模运算,而不仅仅是在将所有三个数字相加之后。
  • 使用64位数字。这仍然需要模数,但不会那么频繁。

1000000007非常接近有符号32位数字的限制(214748367)。您可以在没有溢出的情况下添加调制数字,但不能添加三个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10673599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档