HDU
来源:互联网 发布:sqlserver增量备份 编辑:程序博客网 时间:2024/06/05 04:14
Numbers
Problem Description
zk has n numbers a1,a2,...,an . For each (i,j) satisfying 1≤i<j≤n, zk generates a new number (ai+aj) . These new numbers could make up a new sequence b1,b2,...,bn(n−1)/2 .
LsF wants to make some trouble. While zk is sleeping, Lsf mixed up sequence a and b with random order so that zk can't figure out which numbers were in a or b. "I'm angry!", says zk.
Can you help zk find out which n numbers were originally in a?
LsF wants to make some trouble. While zk is sleeping, Lsf mixed up sequence a and b with random order so that zk can't figure out which numbers were in a or b. "I'm angry!", says zk.
Can you help zk find out which n numbers were originally in a?
Input
Multiple test cases(not exceed 10).
For each test case:
∙ The first line is an integer m(0≤m≤125250), indicating the total length of a and b. It's guaranteed m can be formed as n(n+1)/2.
∙ The second line contains m numbers, indicating the mixed sequence of a and b.
Eachai is in [1,10^9]
For each test case:
Each
Output
For each test case, output two lines.
The first line is an integer n, indicating the length of sequence a;
The second line should contain n space-seprated integersa1,a2,...,an(a1≤a2≤...≤an) . These are numbers in sequence a.
It's guaranteed that there is only one solution for each case.
The first line is an integer n, indicating the length of sequence a;
The second line should contain n space-seprated integers
It's guaranteed that there is only one solution for each case.
Sample Input
62 2 2 4 4 4211 2 3 3 4 4 5 5 5 6 6 6 7 7 7 8 8 9 9 10 11
Sample Output
32 2 261 2 3 4 5 6
Source
2017 Multi-University Training Contest - Team 9
Recommend
liuyiding
题意:给出一串数字C,C是由数列A,B组成的。B是A中两两的和。输出数列A。
解题思路:先对C排序,然后最小的那个数字肯定是数列A,先把最小的加入到答案列表A。然后对于每一个次小的与A中每个数字做和,并从给定的数字中去掉,循环以上过程。
附上官方题解
1008
将b数组排序,取出最小的两项作为a1,a2,删除a1,a2,a1+a2,再取出最小项作为a3,再删除a3,a1+a3,a2+a3,再取出最小项作为a4,依次列推。
#include<iostream>#include<deque>#include<memory.h>#include<stdio.h>#include<map>#include<string>#include<algorithm>#include<vector>#include<math.h>#include<stack>#include<queue>#include<set>#define inf 1073741823#define MAXV 200005using namespace std;int m;int temp;int main(){ while(~scanf("%d",&m)){ map<int,int> num;//记录数字出现过多少次 vector<int> mynum;//数列C vector<int> ans;//数列A for(int i=0;i<m;i++){ scanf("%d",&temp); mynum.push_back(temp); if(num[temp]==0) num[temp]=1; else num[temp]++; } if(m==0)//特殊处理 { cout<<0<<endl; continue; } sort(mynum.begin(),mynum.end()); ans.push_back(mynum[0]); for(int i=1;i<mynum.size();i++){ if(num[mynum[i]]==0)//如果用完了,下一个 continue; for(int j=0;j<ans.size();j++) num[ans[j]+mynum[i]]--; ans.push_back(mynum[i]); num[mynum[i]]--; } printf("%d\n",ans.size()); for(int i=0;i<ans.size();i++) if(i==ans.size()-1) printf("%d\n",ans[i]); else printf("%d ",ans[i]); } return 0;}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- HTML5新增属性介绍和地理位置
- hdu 2514
- web项目 调用外部接口 例子
- ELK+Kafka 企业日志收集平台(一)
- 学做人学做事
- HDU
- 积木题 (2017年秋季——某网站的面试笔试题)
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- Spark Shuffle原理、Shuffle操作问题解决和参数调优
- centos64位c语言编译时/usr/bin/ld: cannot find -lmysqlclient
- python入门(三十五):线程和进程概述
- 快递100在java中使用
- 【SDOI2009】HH去散步(矩阵快速幂)
- 关于<option></option>标签的title属性问题