A B2-Sequence is a sequence of positive integers 1 ≤ b1 < b2 < b3 . . . such that all pairwise sums bi +bj , where i ≤ j, are different. Your task is to determine if a given sequence is a B2-Sequence or not.

Input

Each test case starts with 2 ≤ N ≤ 100, the number of elements in a sequence. Next line will have N integers, representing the value of each element in the sequence. Each element bi is an integer such that bi ≤ 10000. There is a blank line after each test case. The input is terminated by end of file (EOF).

Output

For each test case you must print the number of the test case, starting from 1, and a message indicating if the corresponding sequence it is a B2-Sequence or not. See the sample output below. After each test case you must print a blank line.

Sample Input

4

1 2 4 8

4

3 7 10 14

Sample Output

Case #1: It is a B2-Sequence.

Case #2: It is not a B2-Sequence.

问题链接:UVA11063 B2-Sequence

问题简述:(略)

问题分析

这个问题,看似问的是给定的序列任何两个数之和是否重复,然而是有陷阱的。实际是判定一个序列是否为B2-Sequence,要根据B2-Sequence的定义来做才行。

根据题意序列的元素都大于等于1并且是升序的,才是B2-Sequence。所以,要先做这个判定。

然后,再看任何2个数之和是否重复。做这个判定有2种方法,一是将所有的和算出来并且排序,再判定;二是用一个集合来判定。似乎,用集合更加合理。

程序说明:(略)

题记:(略)

参考链接:(略)

AC的C++语言程序如下:

/* UVA11063 B2-Sequence */#include <bits/stdc++.h>using namespace std;const int N = 100;
int b[N];int main()
{int n, caseno = 0;while(~scanf("%d", &n)) {for(int i = 0; i < n; i++)scanf("%d", &b[i]);bool flag = true;if(b[0] < 1)flag = false;for(int i = 1; flag && i < n; i++)if(b[i] <= b[i - 1])flag = false;if(flag) {set<int> s;for(int i = 0; flag && i < n; i++)for(int j = i; j < n; j++) {int t = b[i] + b[j];if(s.find(t) != s.end()) {flag = false;break;}s.insert(t);}}printf("Case #%d: It is %sa B2-Sequence.\n\n", ++caseno, flag ? "" : "not ");}return 0;
}

AC的C++语言程序如下:

/* UVA11063 B2-Sequence */#include <bits/stdc++.h>using namespace std;const int N = 100;
int b[N], sum[N * N + 1];int main()
{int n, caseno = 0;while(~scanf("%d", &n)) {for(int i = 0; i < n; i++)scanf("%d", &b[i]);bool flag = true;if(b[0] < 1)flag = false;for(int i = 1; flag && i < n; i++)if(b[i] <= b[i - 1])flag = false;if(flag) {int cnt = 0;for(int i = 0; i < n; i++)for(int j = i; j < n; j++)sum[cnt++] = b[i] + b[j];sort(sum, sum + cnt);for(int i = 1; i < cnt; i++)if(sum[i] == sum[i - 1]) {flag = false;break;}}printf("Case #%d: It is %sa B2-Sequence.\n\n", ++caseno, flag ? "" : "not ");}return 0;
}

UVA11063 B2-Sequence【序列】相关推荐

  1. oracle数据库创建Sequence序列

    oracle创建sequence序列 -- Create sequence create sequence seq_wds  --序列名称(自定义) minvalue 1   --序列最小值 maxv ...

  2. sequence 序列

    sequence(序列)是一组有顺序的元素的集合,可以包含一个或多个元素,也可以没有任何元素(空序列).序列的元素可以是基本数据类型(int,float,complex,bool,string),也可 ...

  3. PostgreSQL之Sequence序列(转)

    本文转载自:https://blog.csdn.net/omelon1/article/details/78798961 Sequence序列 Sequence是一种自动增加的数字序列,一般作为行或者 ...

  4. PostgreSQL之Sequence序列

    原文地址: PostgreSQL之Sequence序列_Frank_lyn的博客-CSDN博客_pgsql sequence PostgreSQL是一种关系型数据库,和Oracle.MySQL一样被广 ...

  5. 怎样给oracle表设置序列,Oracle的sequence序列在hibernate中的配置方法

    Oracle自增序列在Hibernate中的配置方法 在很多情况下,我们使用Hibernate在已经建立好数据库的基础上.在oracle中,如果已经建立好的数据库中使用了sequence,则可以按照下 ...

  6. Oracle中Sequence序列的使用

    在oracle中sequence就是序列,每次取的时候它会自动增加.Sequence与表没有关系.  1.Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY ...

  7. GeoGebra笔记10 :Sequence序列

    Sequence(表达式,变量,初值,终值,增量) Sequence(n^2,n,1.10,0.2) stroke1用笔划线 Sequence(Rotate(stroke1,(n 30)"a ...

  8. oracle创建SEQUENCE序列

    1.在sql窗口如下写 create sequence SEQ_USER_INFO_ID//你创建的序列的名称 increment by 1 //每次自增长1 start with 1 //默认id从 ...

  9. Sequence序列的理解和使用

    目录 1.是什么? 2.做什么? 3.不使用的影响? 4.使用的好处? 5.如何使用? 1.是什么? sequence是用来在多用户环境下产生唯一整数的数据库对象. 2.做什么? 序列产生器顺序生成数 ...

最新文章

  1. 学习junit和hamcrest的使用
  2. Internet History, Technology, and Security----第一周
  3. apache poi使用例_POI 与 JXL 054
  4. 这可不是一般的便宜哦!
  5. 拔染印花几点注意事项
  6. 基于vc的freetype字体轮廓解析_才一年,长安又换新LOGO,连带字体也升级了,你喜欢吗?_搜狐汽车...
  7. CSS面试题汇总(四)
  8. win10电脑便签怎么换行 电脑便签记事本换行的两种方法
  9. myeclipseCI2018.12.0新建web项目目录结构没有webroot
  10. Autodesk 3ds Max 2014选择集闪退问题
  11. PhotoSweeper X for Mac(重复照片清理工具)
  12. ubuntu安装docker-生产环境(kubernetes推荐)
  13. 海外游戏广告投放思路和指南
  14. python——tensorflow——ValueError:Shape(None,1)and (None,7) are incompatible
  15. PELU激活函数的tensorflow实现(一) Parametric Exponential Linear Unit
  16. 今天看到一个不错的漫画网站(E文)
  17. concurrent.futures --- 启动并行任务(线程池)
  18. Excelitas/Kaiser高压电源维修HPLS203概述
  19. 整理一些自己常用软件
  20. 欧氏距离、规范化欧氏距离=L2normal规范化平方和/模=1、softmax归一化和=1、z-sorce标准化(变化范围0~1,和不为1

热门文章

  1. JavaWeb——servlet介绍
  2. GitHub上最火的40个Android开源项目(一)
  3. 学习java第二天 java体系结构与表面执行流程 (one 大白(●—●))
  4. equals()重写之后为什么要重写hashCode()方法
  5. html 图片 按钮,css按钮背景图片如何实现?(代码实例)
  6. java 解析p12_java读取*.p12证书的信息 | 学步园
  7. xmapp mysql打不开_XAMPP 的MYSQL无法启动
  8. 对电机油冷分析_【外文解读】电动汽车转子油冷电机
  9. jmeter学习总结
  10. Git教程——如何创建一个版本库(Repository)