您的位置:首页 > 其它

74.明明的随机数

2015-08-11 15:12 232 查看


74. [NOIP2006] 明明的随机数

☆ 输入文件:
random.in
输出文件:
random.out
简单对比

时间限制:1 s 内存限制:128 MB

【问题描述】

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 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

自动选择评测机 打开 O2 优化COGS Grader
无优化开关

提交代码 Pascal C C++

记录编号149894评测结果AAAAAAAAAA
题目名称[NOIP2006] 明明的随机数最终得分100重新评测自动选择 打开 O2 优化
COGS Grader无优化开关
重新评测
用户昵称VacaTionGOD是否通过通过
代码语言Pascal运行时间0.001 s
提交时间2015-02-26 21:54:20内存使用0.17 MiBIP
显示代码纯文本
program p74;
var
n,i,j,t,k:longint;
a:array[1..100] of longint;
begin
assign(input,'random.in');
assign(output,'random.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n-1 do
begin
k:=i;
for j:=i+1 to n do
if a[k]>a[j] then k:=j;
if k<>i then
begin
t:=a[k];
a[k]:=a[i];
a[i]:=t;
end;
end;
k:=0;
for i:=1 to n do
if a[i]<>a[i+1] then inc(k);
writeln(k);
for i:=1 to n do
if a[i]<>a[i+1] then
write(a[i],' ');
close(input);
close(output);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: