题目来源P1059 [NOIP 2006 普及组] 明明的随机数 - 洛谷题目描述明明想在学校中请一些同学一起做一项问卷调查为了实验的客观性他先用计算机生成了 N 个 1 到 1000 之间的随机整数 (N≤100)对于其中重复的数字只保留一个把其余相同的数去掉不同的数对应着不同的学生的学号。然后再把这些数从小到大排序按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行第 1 行为 1 个正整数表示所生成的随机数的个数 N。第 2 行有 N 个用空格隔开的正整数为所产生的随机数。输出格式输出也是两行第 1 行为 1 个正整数 M表示不相同的随机数的个数。第 2 行为 M 个用空格隔开的正整数为从小到大排好序的不相同的随机数。输入输出样例输入 #110 20 40 32 67 40 20 89 300 400 15输出 #18 15 20 32 40 67 89 300 400样例一分析其中20重复了去掉20后的数再进行排序。说明/提示NOIP 2006 普及组 第一题题目分析与AC代码分析桶排序是一个十分经典的去重排序如图虽然桶排序支持的范围在但这道题的范围只有1000完全够用。AC代码#includebits/stdc.h using namespace std; const int maxn1000; int a[maxn]{10}; int main(){ int sum0,x,n; cinn; for(int i1;in;i){ cinx; a[x]x; } for(int i1;imaxn;i){ if(a[i]!0)sum; } coutsumendl; for(int i1;imaxn;i){ if(a[i]!0) couta[i] ; } return 0; }
P1059 [NOIP 2006 普及组] 明明的随机数
发布时间:2026/5/25 23:30:57
题目来源P1059 [NOIP 2006 普及组] 明明的随机数 - 洛谷题目描述明明想在学校中请一些同学一起做一项问卷调查为了实验的客观性他先用计算机生成了 N 个 1 到 1000 之间的随机整数 (N≤100)对于其中重复的数字只保留一个把其余相同的数去掉不同的数对应着不同的学生的学号。然后再把这些数从小到大排序按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入格式输入有两行第 1 行为 1 个正整数表示所生成的随机数的个数 N。第 2 行有 N 个用空格隔开的正整数为所产生的随机数。输出格式输出也是两行第 1 行为 1 个正整数 M表示不相同的随机数的个数。第 2 行为 M 个用空格隔开的正整数为从小到大排好序的不相同的随机数。输入输出样例输入 #110 20 40 32 67 40 20 89 300 400 15输出 #18 15 20 32 40 67 89 300 400样例一分析其中20重复了去掉20后的数再进行排序。说明/提示NOIP 2006 普及组 第一题题目分析与AC代码分析桶排序是一个十分经典的去重排序如图虽然桶排序支持的范围在但这道题的范围只有1000完全够用。AC代码#includebits/stdc.h using namespace std; const int maxn1000; int a[maxn]{10}; int main(){ int sum0,x,n; cinn; for(int i1;in;i){ cinx; a[x]x; } for(int i1;imaxn;i){ if(a[i]!0)sum; } coutsumendl; for(int i1;imaxn;i){ if(a[i]!0) couta[i] ; } return 0; }