明明想在學校中請一些同學一起做一項問卷調查,爲了實驗的客觀性,他先用計算機生成了 N 個 1 到 1000 之間的隨機整數( N ≤ 100 ),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應着不同的學生的學號。然後再把這些數從小到大排序,按 照 排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作。
【輸入格式】
輸入文件 random.in 有 2 行,第 1 行爲 1 個正整數,表示所生成的隨機數的個數:N
第 2 行有 N 個用空格隔開的正整數,爲所產生的隨機數。
【輸出格式】
輸出文件 random.out 也是 2 行,第 1 行爲 1 個正整數 M ,表示不相同的隨機數的個數。第 2 行爲 M 個用空格隔開的正整數,爲從小到大排好序的不相同的隨機數。
【輸入輸出樣例】
輸入:
10
20 40 32 67 40 20 89 300 400 15
輸出:
8
15 20 32 40 67 89 300 400
【分析】
再水不過的題了,直接模擬,然後上快速排序。
【我的代碼】
01 //NOIP2006-Junior-Random
02 #include <cstdio>
03 #include <cstdlib>
04 #include <iostream>
05 using namespace std;
06
07 int Compare(const void *a,const void *b)
08 {
09 return *(int *)a-*(int *)b;
10 }
11
12 int main()
13 {
14 freopen("random.in","r",stdin);
15 freopen("random.out","w",stdout);
16 int num[101]={0};
17 int n;
18 scanf("%d",&n);
19 for (int i=1;i<=n;i++)
20 scanf("%d",&num[i]);
21 int reduce=0;
22 for (int i=1;i<=n;i++)
23 for (int j=i+1;j<=n;j++)
24 if (num[j]!=1001 && num[i]!=1001 && num[j]==num[i])
25 {
26 num[j]=1001;
27 reduce++;
28 }
29 qsort(num+1,n,sizeof(int),Compare);
30 cout<<n-reduce<<endl;
31 for(int i=1;i<=n-reduce;i++)
32 cout<<num[i]<<" ";
33 cout<<endl;
34 return 0;
35 }
正在连接评测机...02 #include <cstdio>
03 #include <cstdlib>
04 #include <iostream>
05 using namespace std;
06
07 int Compare(const void *a,const void *b)
08 {
09 return *(int *)a-*(int *)b;
10 }
11
12 int main()
13 {
14 freopen("random.in","r",stdin);
15 freopen("random.out","w",stdout);
16 int num[101]={0};
17 int n;
18 scanf("%d",&n);
19 for (int i=1;i<=n;i++)
20 scanf("%d",&num[i]);
21 int reduce=0;
22 for (int i=1;i<=n;i++)
23 for (int j=i+1;j<=n;j++)
24 if (num[j]!=1001 && num[i]!=1001 && num[j]==num[i])
25 {
26 num[j]=1001;
27 reduce++;
28 }
29 qsort(num+1,n,sizeof(int),Compare);
30 cout<<n-reduce<<endl;
31 for(int i=1;i<=n-reduce;i++)
32 cout<<num[i]<<" ";
33 cout<<endl;
34 return 0;
35 }
已连接到评测机
GRID | 1 |
名称 | Flitty |
系统版本 | 1.00 |
备注 | COGS 1号评测机 Flitty |
编译成功
测试点 | 结果 | 得分 | 运行时间 | 内存使用 | 退出代码 |
1 | 正确 | 10 | 0.018 s | 273 KB | 0 |
2 | 正确 | 10 | 0.001 s | 273 KB | 0 |
3 | 正确 | 10 | 0.001 s | 273 KB | 0 |
4 | 正确 | 10 | 0.001 s | 273 KB | 0 |
5 | 正确 | 10 | 0.001 s | 273 KB | 0 |
6 | 正确 | 10 | 0.001 s | 273 KB | 0 |
7 | 正确 | 10 | 0.001 s | 273 KB | 0 |
8 | 正确 | 10 | 0.001 s | 273 KB | 0 |
9 | 正确 | 10 | 0.001 s | 273 KB | 0 |
10 | 正确 | 10 | 0.001 s | 273 KB | 0 |
运行时间 0.024 s
平均内存使用 273 KB
测试点通过状况 AAAAAAAAAA
得分:100
恭喜你通过了全部测试点!
沒有留言:
張貼留言