3338:【例58.1】 明明的随机数

953 篇文章 38 订阅
800 篇文章 5 订阅

3338:【例58.1】 明明的随机数

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 58.1] 明明的随机数

1934:【06NOIP普及组】明明的随机数

信息学奥赛一本通(C++版)在线评测系统

1184:明明的随机数

信息学奥赛一本通(C++版)在线评测系统




/*
NOIP2006复赛 普及组 第一题-2019-01-27(优化)
09:明明的随机数
http://noi.openjudge.cn/ch0110/09/

总时间限制: 1000ms 内存限制: 65536kB
描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

输入
有2行,第1行为1个正整数,表示所生成的随机数的个数:N;
第2行有N个用空格隔开的正整数,为所产生的随机数。
输出
也是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
来源
NOIP2006复赛 普及组 第一题
*/
#include <bits/stdc++.h>
using namespace std;
int main( )
{
	int n,a[105],b[105],temp=0;
	int k;
	cin>>n;
	temp=n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	
	//选择排序 
	for(int i=1;i<temp;i++)
	{
		for(int j=i+1;j<=temp;j++)
		{
			k=i;
			if(a[k]>a[j])  k=j;
			
			swap(a[i],a[k]);	
		}
	}
	
	//去重 
	for(int i=1;i<temp;i++)
	{
		if(a[i]==a[i+1])
		{
			a[i]=0;
			n--;	
		}
	}
	cout<<n<<endl;
	for(int i=1;i<=temp;i++)
	{
		if(a[i])  cout<<a[i]<<' ';
	}
	
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
set<int>s;
int a[105];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        s.insert(a[i]);
    }
    cout<<s.size()<<endl;
    while(!s.empty())
    {
        cout<<*s.begin()<<" ";     //注意此处的用法
        s.erase(s.begin()); 
    }
    return 0;
}


#include <bits/stdc++.h>
using namespace std;
int main()
{
    int N,M=0,a[100],i,j;
    cin>>N;
    for(i=0;i<N;i++) {
        cin>>a[M];
        bool h=false;
        for (j=0;j<M;j++){
            if (a[j]==a[M]){
                h=true;
                break;
            }
        }
        if(!h) M++;
    }
    sort(a,a+M);
    cout<<M<<endl;
    for (i=0;i<M;i++)
        cout<<a[i]<<" ";
    
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a[100000],n;
int main()
{
	cin>>n;
	
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
	}
	
	sort(a,a+n);
	
	int x=unique(a,a+n)-a;
	cout<<x<<endl;
	
	for(int i=0;i<x;i++)
	{
		cout<<a[i]<<" ";
	}
	
	return 0;
}



 




python画图、python小游戏、python刷题、python算法、python编程与数学

python画图、python小游戏、python刷题、python算法、python编程与数学_pygame 小学数学-CSDN博客

蓝桥杯青少年创意编程大赛 scratch python C++ 资料集(2022.07.08)

蓝桥杯青少年创意编程大赛 scratch python C++ 资料集(2022.07.08)_2019年12月份 python 蓝桥杯青少组-CSDN博客

蓝桥杯青少创意编程python组

蓝桥杯青少创意编程python组_2019年12月份 python 蓝桥杯青少组-CSDN博客

Python相关的考试和认证

Python相关的考试和认证_python考级官网-CSDN博客

python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等

python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等_acwing和洛谷哪个好-CSDN博客

Python信息技术学考一本通题目讲解、python入门、python习题集整理汇总等

Python信息技术学考一本通题目讲解、python入门、python习题集整理汇总等_信息学奥赛一本通python网站-CSDN博客

python画图系列整理

python画图系列整理_python画图作品-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值