作业帮 > 数学 > 作业

ACM A+B=C 为什么第一个数组从0开始遍历,第二个数组从最后一个遍历!

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/10 19:52:05
ACM A+B=C 为什么第一个数组从0开始遍历,第二个数组从最后一个遍历!
Description
有A、
B、 C 三个集合的,其中a∈A,b ∈
B,c ∈ C,求有多少种方式使得a + b = c.
Input
有多组测试数据,请处理到文件结束.
对于每组测试数据,有三行:
第一行为A集合的描述,第一个数为n,表示A集合有n个数,接下来有n个整数a1~an.
第二行为B集合,第三行为C集合,表示含义参考第一行.
每个集合中的数两两不相等.
1nb;
for(i = 0;i>nc;
for(i = 0;i
首先集合给排序了.都是从小到大.而且每个集合的值都是不同的.
A 下标从 0 --> na
B 下标从 nb --> 0
这样在A,B形成一个游标,如果大于C的话,则要减少值,由于A已经是最小了,所以只能减少B.
小于C的话,则在增加值,由于B是最大的,所以只能增加A.
如果B也是从0-->nb.这样就没办法判断要加哪个或减哪个.