EOJ 2844 排序去重
有 n 个 1 到 1000 之间的整数 (1≤n≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再按照指定的排序方式把这些数排序。
Input
第 1 行为字母 A
或 D
,A
表示按照升序排序,D
表示按照降序排序。
第 2 行开始有若干个用一个空格或换行符分隔的正整数。
Output
相互之间用一个空格分隔的经去重和排序后的正整数。最后一个数后没有空格。
Examples
A
20 40 32 67 40 20 89 300 400 15
15 20 32 40 67 89 300 400
方法多多, 可以用flag数组记录取用与否,可以用set,可以用vector后unique_copy
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp1(const void *a,const void *b){return *(int*)b-*(int*)a;}
int cmp2(const void *a,const void *b){return *(int*)a-*(int*)b;}
int main()
{
char c;
int a[],l,tmp;
int flag[]={};
scanf("%c\n",&c);
int i=,j,k;
while(scanf("%d",&tmp)!=EOF)
{
if(flag[tmp]==)
{
a[i++]=tmp;
flag[tmp]=;
}
}
if(c=='A') qsort(a,i,sizeof(a[]),cmp2);
if(c=='D') qsort(a,i,sizeof(a[]),cmp1);
for(j=;j<i-;j++) printf("%d ",a[j]);
printf("%d\n",a[j]);
return ;
}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(const int a,const int b){return a>b;}
int main()
{
char c;cin>>c;
int tmp;
vector<int> v,vv;
while(cin>>tmp) v.push_back(tmp);
if(c=='D')
sort(v.begin(),v.end(),cmp);
else
sort(v.begin(),v.end());
unique_copy(v.begin(),v.end(),back_inserter(vv));
for(auto& x:vv) cout<<x<<' ';
return ;
}
#include <iostream>
#include <algorithm>
#include <vector>
bool cmp(int i,int j)
{return (i<j);} using namespace std; int main ()
{
int b,i=;
char c;
cin>>c;
vector<int> v;
while(cin>>b)
{
v.push_back(b);
}
sort(v.begin(),v.end(),cmp); if(c=='A')
{
vector<int>::iterator it=v.begin();
cout<<*(it++);
for(;it!=v.end();it++)
{
if(*(it)==*(it-)) continue;
cout<<' '<<*(it);
}
}
if(c=='D')
{
vector<int>::iterator it=v.end()-;
cout<<*(it--);
for(;it>=v.begin();it--)
{
if(*(it)==*(it+)) continue;
cout<<' '<<*(it);
}
} return ;
}
EOJ 2844 排序去重的更多相关文章
- NX二次开发-C++的vector排序去重用法
#include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...
- 利用BitMap进行大数据排序去重
1.问题 问题提出: M(如10亿)个int整数,只有其中N个数重复出现过,读取到内存中并将重复的整数删除. 2.解决方案 问题分析: 我们肯定会先想到在计算机内存中开辟M个int整型数据数组,来on ...
- Linux sort 排序 去重 统计
先写一个命令: cut -d' ' -f1 ~/.bash_history|sort -d | uniq -c|sort -nr|head 这个命令可以统计你历史上输入的命令的次数的前十条 整个命令基 ...
- js实现排序去重计算字符次数
/*去重*/ var arr=[1,4,4,7,3,9,0,3,2,1,"你好","你","你好","你 "]; var ...
- set自动排序去重 stringstream流分割字符
链接:https://vjudge.net/problem/UVA-10815#author=0 题意:给几段句子,按字典序筛选出单词. 题解:用C的话太麻烦,不如用自动去重并排序的set容器.有个地 ...
- Linux中sort和uniq关于排序去重的那些用法
相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特 ...
- shell不排序去重
一条命令搞定: awk '!a[$0]++' file 如果是第一次出现a[$0]++的值为0(假),而!a[$0]++的值就为1(真),之后就执行print $0 第二次或者两次以上的出现a[$ ...
- 通过bitmap对100w数字进行排序去重
首先生成100w随机数,控制最大数 <?php $i = 0; do{ $i++; $num = rand(0, 999999); echo $num."\n"; }whil ...
- SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题
本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是 ...
随机推荐
- AI:狄拉克之海上的涟漪
延陵季子2011年 8月27日 19:02 借鉴英文原文:Ripples in the Dirac Sea 当他试着用一种轻松的口吻诉说一些事情时,我会明白,其实我们都明白,在他的心里绝对不是平 ...
- ANN:DNN结构演进History—RNN
前言: CNN在图像处理领域的极大成功源于CNN的二维递进映射结构,通过训练多层卷积核来进行特征提取函数训练,在二维图像的稀疏表达和语义关联分析方面有天生的结构优势.而涉及时序问题的逻辑序列分析-边长 ...
- python tips:小整数对象池与字符串intern
本文为is同一性运算符的详细解释.is用于判断两个对象是否为同一个对象,具体来说是两个对象在内存中的位置是否相同. python为了提高效率,节省内存,在实现上大量使用了缓冲池技术和字符串intern ...
- TextInputLayout使用时各个地方的字体颜色
我们现在在做Android端的输入框时,要具备如下功能: 默认提示获取焦点时提示上移至输入框顶部获取焦点时输入框有提示错误时增加错误提示直接上图: 默认情况: 获取焦点时: 开始输入文字时: 有错误时 ...
- ios开发——runtime
首先,最重要的一点,学runtime能干嘛? 1.使用runtime改变变量值 2.使用runtime交换方法 3.使用runtime添加方法 4.使用runtime给分类扩展属性 学了runtime ...
- [置顶]
tcpflow 抓包
转自: http://www.rwifeng.com/jekyll/update/2015/04/16/how-to-tcpflow/ tcpflow 抓包 Apr 16, 2015 大家都知道 t ...
- [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)
传送门 Description 这片树林里有N座房子,M条有向道路,组成了一张有向无环图. 树林里的树非常茂密,足以遮挡视线,但是沿着道路望去,却是视野开阔.如果从房子A沿着路走下去能够到达B,那么在 ...
- [luogu3244 HNOI2015] 落忆枫音(容斥原理+拓扑排序)
传送门 Description 给你一张 n 个点 m 条边的DAG,1 号节点没有入边.再向这个DAG中加入边 x→y ,求形成的新图中以 1 为根的外向树形图数 模 10^9+7 . Input ...
- shell脚本中source无效
发现在shell里面执行source,提示找不到命令.所以,我取搜了一些资料,总结一下. 一. 脚本中,source找不到命令--------------是因为用了sh执行脚本,而debian系统的s ...
- 在vue项目中引用element-ui时 让el-input 获取焦点的方法
在制作项目的时候遇到一个需求,点击一个按钮弹出一个input输入框,并让输入框获得焦点,项目中引用了ElementUI 在网上查找了很多方法,但是在实际使用中发现了一个问题无论是使用$ref获取inp ...