UVa 11063 - B2-Sequence

题目:给你一组数据{ b1,b2,...,bk }中,判断是否任意两个数字的和都不同。

分析:数论。计算出所有结果,排序判断相邻结果是否相同即可。

说明:500题(⊙_⊙)。

#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;
		for (int i = 0 ; i < n ; ++ i)
		for (int j = 0 ; j < i ; ++ j)
			sum[count ++] = data[i]+data[j];

		sort(sum, sum+count);
		int flag = 0;
		for (int i = 1 ; i < count ; ++ i)
			if (sum[i] == sum[i-1]) {
				flag = 1;
				break;
			}

		if (!flag)
			printf("Case #%d: It is a B2-Sequence.\n\n",T ++);
		else
			printf("Case #%d: It is not a B2-Sequence.\n\n",T ++);
	}
	return 0;
}
时间: 2024-12-13 06:03:49

UVa 11063 - B2-Sequence的相关文章

LIS UVA 10534 Wavio Sequence

题目传送门 1 /* 2 LIS:应用,nlogn的做法,首先从前扫到尾,记录每个位置的最长上升子序列,从后扫到头同理. 3 因为是对称的,所以取较小值*2-1再取最大值 4 */ 5 /************************************************ 6 * Author :Running_Time 7 * Created Time :2015-8-5 21:38:32 8 * File Name :UVA_10534.cpp 9 ***************

UVa 1584 Circular Sequence --- 水题

UVa 1584 题目大意:给定一个含有n个字母的环状字符串,可从任意位置开始按顺时针读取n个字母,输出其中字典序最小的结果 解题思路:先利用模运算实现一个判定给定一个环状的串以及两个首字母位置,比较二者字典序大小的函数, 然后再用一层循环,进行n次比较,保存最小的字典序的串的首字母位置,再利用模运算输出即可 /* UVa 1584 Circular Sequence --- 水题 */ #include <cstdio> #include <cstring> //字符串s为环状,

uva 10706 Number Sequence(找规律)

uva 10706 Number Sequence A single positive integer iis given. Write a program to find the digit located in the position iin the sequence of number groups S1S2-Sk. Each group Skconsists of a sequence of positive integer numbers ranging from 1 to k, w

uva 1406 - A Sequence of Numbers(树状数组)

题目链接:uva 1406 - A Sequence of Numbers 题目大意:给定n个数,有两种操作: Q x:计算与2x取且不为0的数的个数 C x:每个数加上x 输出所有Q操作的和. 解题思路:因为x最大为15,所以开16个树状数组,fenx[x]记录的是每个数取模2x+1的情况,然后有一个add值标记总共加了多少.根据add值确定原先数的范围. #include <cstdio> #include <cstring> #include <algorithm>

uva 1626 Brackets Sequence ?(动态规划)

状态表示方法:d[ i ][ j ]表示的是一条序列的开始和结束: 状态定义:d[ i ][ j ]表示字串s[ i~j ] 需要添加的数量. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n; char s[105]; int d[105][105]; bool match(char ch1,char ch2) { if((ch1=='['&&am

UVa 1626 Brackets sequence (动态规划)

题意:用最少的括号将给定的字符串匹配,输出最优解.可能有空行. 思路:dp. dp[i][j]表示将区间i,j之间的字符串匹配需要的最少括号数,那么 如果区间左边是(或[,表示可以和右边的字符串匹配,枚举中间断点k,如果str[i]==str[k]则dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k+1][j])表示不需要加入新的括号,也可以插入新的括号则dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k+1][j]+1). 如果区间最左边字符

uva 10534 Wavio Sequence LIS

// uva 10534 Wavio Sequence // // 可以将题目转化为经典的LIS. // 从左往右LIS记作d[i],从右往左LIS记作p[i]; // 则最后其中的min(d[i],p[i])就是这个波动序列的一半 // 在这最后的min(d[i],p[i]) * 2 + 1 的最大值就是我们所要求的答案 // // 这题开始想的最后的答案是d[i]==p[i]的时候求最大. // 但是这样是不对的,例如n=4, // 1,3,1,0 // 最长的应该是3,但是我的答案是1,明

uva 1584 Circular Sequence (字符串处理)

C - Circular Sequence Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description Some DNA sequences exist in circular forms as in the following figure, which shows a circular sequence ``CGAGTCAGCT", that is,

UVA - 10706 Number Sequence

先找到是在哪个集合内,再找到是集合内的哪个元素,最后找到元素的第几位数 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; long long table[100010]; long long psum[100010]; int n=100000; void maketable() { int i,flag=1,x=0;

UVA 1584 - Circular Sequence(环状序列)(字典序)

1584 - Circular Sequence Time limit: 3.000 seconds Some DNA sequences exist in circular forms as in the following figure, which shows a circular sequence ``CGAGTCAGCT", that is, the last symbol ``T" in ``CGAGTCAGCT" is connected to the firs