有 n 个 1 到 1000 之间的整数 (1≤n≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再按照指定的排序方式把这些数排序。

Input

第 1 行为字母 ADA 表示按照升序排序,D 表示按照降序排序。

第 2 行开始有若干个用一个空格或换行符分隔的正整数。

Output

相互之间用一个空格分隔的经去重和排序后的正整数。最后一个数后没有空格。

Examples

Input
A
20 40 32 67 40 20 89 300 400 15
Output
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 排序去重的更多相关文章

  1. NX二次开发-C++的vector排序去重用法

    #include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...

  2. 利用BitMap进行大数据排序去重

    1.问题 问题提出: M(如10亿)个int整数,只有其中N个数重复出现过,读取到内存中并将重复的整数删除. 2.解决方案 问题分析: 我们肯定会先想到在计算机内存中开辟M个int整型数据数组,来on ...

  3. Linux sort 排序 去重 统计

    先写一个命令: cut -d' ' -f1 ~/.bash_history|sort -d | uniq -c|sort -nr|head 这个命令可以统计你历史上输入的命令的次数的前十条 整个命令基 ...

  4. js实现排序去重计算字符次数

    /*去重*/ var arr=[1,4,4,7,3,9,0,3,2,1,"你好","你","你好","你 "]; var ...

  5. set自动排序去重 stringstream流分割字符

    链接:https://vjudge.net/problem/UVA-10815#author=0 题意:给几段句子,按字典序筛选出单词. 题解:用C的话太麻烦,不如用自动去重并排序的set容器.有个地 ...

  6. Linux中sort和uniq关于排序去重的那些用法

    相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特 ...

  7. shell不排序去重

    一条命令搞定:   awk '!a[$0]++' file 如果是第一次出现a[$0]++的值为0(假),而!a[$0]++的值就为1(真),之后就执行print $0 第二次或者两次以上的出现a[$ ...

  8. 通过bitmap对100w数字进行排序去重

    首先生成100w随机数,控制最大数 <?php $i = 0; do{ $i++; $num = rand(0, 999999); echo $num."\n"; }whil ...

  9. SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题

    本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是 ...

随机推荐

  1. L4课程_Firebase_笔记分享_StudyJams_2017

    最近才发现Study Jams China的官方论坛也支持MarkDown,所以就直接把笔记发在了那儿. http://www.studyjamscn.com/thread-21855-1-1.htm ...

  2. 去除DialogFragment的背景阴影,背景色,标题栏

    style中: <resources xmlns:android="http://schemas.android.com/apk/res/android"> <s ...

  3. Linux之tar.gz file

    A tarball (tar.gz file) is compressed tar archive. The tar program provides the ability to create ta ...

  4. C++的Android接口---配置NDK

    一. 在安卓工具网站下载ADT:http://tools.android-studio.org/index.php 参考链接:http://1527zhaobin.iteye.com/blog/186 ...

  5. EF test

    LibraryEntities db = new LibraryEntities(); private void btnSelect_Click(object sender, EventArgs e) ...

  6. Tomcat的几种部署方式

    1.  直接把项目的根目录放在: apache-tomcat-*.*\webapps\ROOT 这样即可以通过http://127.0.0.1:8080 来访问 2.  把项目根目录放在: apach ...

  7. windows控制台(console)乱码

    在cmd中输入 CHCP 65001,实操有效.记录一下 永久设置,代码如下: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Cons ...

  8. IDEA返回上一步

    在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步 ctrl+alt+右 回到下一步

  9. 09.正则表达式re-2.complie函数

    compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的一般使用形式如下: import re # 将正则表达式编译成 Pattern 对象 pattern = re.compil ...

  10. cxdbtreelist的处理点滴

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuAAAAE8CAIAAAAOqJOXAAAgAElEQVR4nOy9eXAcV37n+bwzf21sbO ...