ニンニクの客の練習問題を計算します:ニンニクの頭の君の乱数
1878 ワード
問題の説明
ニンニクの頭さんは学校の中でいくつかの学生にアンケート調査をしてもらいたいです.実験の客観性を確保するために、彼はまずコンピュータでn(1==n==100)個の1から1000の間のランダム整数を生成しました.その中で重複した数字は一つだけ残して、残りの同じ数を除いて、違う数は異なった学生の学号に対応しています.それからこれらの数を小さい時から大順に並べて、順番にクラスメートを探して調べます.ニンニク君に協力して「重い」と「並べ替え」の仕事を完成してください.入力フォーマットは2行で、1行目は正の整数nです.二番目の行はn個のマス目で区切られた正の整数があり、その結果生じる乱数です.出力フォーマットの最初の行は正の整数mを出力し、異なる乱数の個数を表します.2行目は、m個のマス目で区切られた正の整数を出力します.小さいときから列の順序が異なる乱数です.サンプル入力10 20 40 32 67 40 20 89 300 15例出力8 15 20 32 67 89 300 400
ACコード
ニンニクの頭さんは学校の中でいくつかの学生にアンケート調査をしてもらいたいです.実験の客観性を確保するために、彼はまずコンピュータでn(1==n==100)個の1から1000の間のランダム整数を生成しました.その中で重複した数字は一つだけ残して、残りの同じ数を除いて、違う数は異なった学生の学号に対応しています.それからこれらの数を小さい時から大順に並べて、順番にクラスメートを探して調べます.ニンニク君に協力して「重い」と「並べ替え」の仕事を完成してください.入力フォーマットは2行で、1行目は正の整数nです.二番目の行はn個のマス目で区切られた正の整数があり、その結果生じる乱数です.出力フォーマットの最初の行は正の整数mを出力し、異なる乱数の個数を表します.2行目は、m個のマス目で区切られた正の整数を出力します.小さいときから列の順序が異なる乱数です.サンプル入力10 20 40 32 67 40 20 89 300 15例出力8 15 20 32 67 89 300 400
ACコード
#include
#include
#include
using namespace std;
int main()
{
set<int> ra;
int T;
int buf;
cin>>T;
while(T--)
{ cin>>buf;
ra.insert(buf);
}
cout<set<int>::iterator it;
int n=0;
for(it=ra.begin();it!=ra.end();it++)
{
++n;
cout<if(n!=ra.size())cout<<" ";
}
return 0;
}