HH的隨機數 Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 413 Solved: 60
[ Submit][ Status][ Web Board]
Description
HH想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用電腦產生了N個1到1000之間的隨機整數(N≤100),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作。 Input
有2行,第1行為1個正整數,表示所產生的隨機數的個數:
N
第2行有N個用空格隔開的正整數,為所產生的隨機數。
Output
也是2行,第1行為1個正整數M,表示不相同的隨機數的個數。第2行為M個用空格隔開的正整數,為從小到大排好序的不相同的隨機數。 Sample Input
1020 40 32 67 40 20 89 300 400 15
Sample Output
815 20 32 40 67 89 300 400
HINT
Source
河南理工大學第五屆ACM程式設計競賽
#include<stdio.h> #include<algorithm> using namespace std; int a[105],b[105]; int main() { int i,n,k=0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); a[n]=10000; sort(a,a+n+1); for(i=0;i<n;) { if(a[i]==a[i+1]) i++; else { b[k]=a[i]; i++; k++; } } printf("%d\n",k); printf("%d",b[0]); for(i=1;i<k;i++) printf(" %d",b[i]); return 0; }