説明
Leileiは、数字が重複しているため、1〜1000 Nの数との間にコンピュータが生成したランダム整数(N≤100)と彼の最初の、客観性をテストするために、調査を行うために一緒に学校の学生のいくつかをお願いしたいと思います予約は、別の番号を学ぶ異なる学生の数に対応し、残りの同じ番号を削除します。その後、昇順でこれらの数字を置く学生が良い行の順序に従って研究を行うために取得します。「重複排除」と「並べ替え」の作業を完了し、明らかに助けてください。
入力
行2は、第一の正の整数の挙動、入力された数で生成された乱数表し、Nを
第二行はスペースで区切られた正の整数N、生成された乱数を有します。
出力
図2は、ライン1は正の整数Mであり、出力線で異なる乱数の数を表します。第二行は小から大に同じ乱数をソートされていない、正の整数Mスペースによって分離されています。
サンプル入力
10 20 40 32 67 40 20 89 300 400 15
サンプル出力
8 15 20 32 40 67 89 300 400
ソース
書式#include <cstdioを> する#include <iostreamの> の#include <cmath> の#include < 文字列 > の#include <CStringの> の#include <アルゴリズム> 書式#include <キュー> の#include <ベクトル> の#include <マップ> 使用して 名前空間はstd; #defineは長い長いっint型であり、n マップ < int型、int型 > 融点; INT のmain() { int型のx、フラグ= 0、和= 0 。 scanf関数(" %のD "& N) のために(int型 i = 0 ; iがn <; iは++ ) { scanf関数(" %のD "、&x)は、 もし(MP [X])合計++!; MP [X] = 1 。 } COUT <<和<< ENDL; のため(マップ< INT、INT!; II = mp.end();> ::イテレータII = mp.begin()II ++ ) { 場合(フラグ)COUT << " " 。 フラグ = 1 。 coutの << II-> まず、 } のprintf(" の\ n " ); リターン 0 ; }