明明的随机数(洛谷-P1059)
生活随笔
收集整理的這篇文章主要介紹了
明明的随机数(洛谷-P1059)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤100),對于其中重復的數字,只保留一個,把其余相同的數去掉,不同的數對應著不同的學生的學號。然后再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作。
輸入輸出格式
輸入格式:
輸入有2行,第1行為1個正整數,表示所生成的隨機數的個數:N ,第2行有N個用空格隔開的正整數,為所產生的隨機數。
輸出格式:
輸出也是2行,第1行為1個正整數M,表示不相同的隨機數的個數。第2行為M個用空格隔開的正整數,為從小到大排好序的不相同的隨機數。
輸入輸出樣例
輸入樣例#1:
10
20 40 32 67 40 20 89 300 400 15
輸出樣例#1:
8
15 20 32 40 67 89 300 400
思路:桶排
源代碼?
#include<iostream> using namespace std; int main() {int n;int num[1001]={0},k;int result=0;int i;cin>>n;for(i=1;i<=n;i++) //桶排序{cin>>k;if(num[k]==0) result++;//去重num[k]++;}cout<<result<<endl;for(i=1;i<=1000;i++)if(num[i]) cout<<i<<" ";//桶號即隨機數cout<<endl;return 0; }總結
以上是生活随笔為你收集整理的明明的随机数(洛谷-P1059)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大象喝水(信息学奥赛一本通-T1032)
- 下一篇: 最大数max(x,y,z)(信息学奥赛一