UVa 11063 - B2-Sequence
来源:程序员人生 发布时间:2014-11-20 08:13:43 阅读次数:2522次
题目:给你1组数据{ b1,b2,...,bk }中,判断是不是任意两个数字的和都不同。
分析:数论。计算出所有结果,排序判断相邻结果是不是相同便可。
说明:注意数据的合法性检查。
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int data[111];
int sum[5555];
int main()
{
int n,T = 1;
while (~scanf("%d",&n)) {
for (int i = 0 ; i < n ; ++ i)
scanf("%d",&data[i]);
int count = 0,flag = 0;
for (int i = 0 ; i < n ; ++ i)
for (int j = i ; j < n ; ++ j)
sum[count ++] = data[i]+data[j];
if (data[0] < 1) flag = 1;
for (int i = 1 ; i < n ; ++ i)
if (data[i] <= data[i⑴]) {
flag = 1;
break;
}
sort(sum, sum+count);
for (int i = 1 ; i < count ; ++ i)
if (sum[i] == sum[i⑴]) {
flag = 1;
break;
}
if (!flag)
printf("Case #%d: It is a B2-Sequence.
",T ++);
else
printf("Case #%d: It is not a B2-Sequence.
",T ++);
}
return 0;
}
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠