Luogu1059 明明的随机数
Posted shiina-rikka
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu1059 明明的随机数相关的知识,希望对你有一定的参考价值。
STL是个好东西!
看到这道题,我当然想到了堆;在STL里有个东西叫做优先队列priority_queue(其实set做这道题更合适),然后再开个桶看这个数是不是已经有了,有了就不放进来,没有就扔进来;完美;return 0;
下面放代码
#include<bits/stdc++.h> #include<queue> //加上这个头文件在码代码的时候方便很多 using namespace std; bool b[2000];//就是个桶 int n; priority_queue<int,vector<int>,greater<int> > data; //int是类型,vector是容器,greater是小根堆 int main() // freopen("testdata.in","r",stdin);//测试用的无视就好了 cin>>n; int x; for(int i=1;i<=n;i++) cin>>x; if(!b[x]) data.push(x); b[x]=true; //输入过的数字下次不输入了 cout<<data.size() <<endl;//返回元素个数 int k=data.size() ;//这里必须记录一下,否则下面运算时.size()返回值变化就坏了 for(int i=1;i<=k;i++) cout<<data.top()<<‘ ‘ ; data.pop();//弹出最上边的元素 return 0;
就是这样!有什么问题希望大家能指出!ありがとうございます。
以上是关于Luogu1059 明明的随机数的主要内容,如果未能解决你的问题,请参考以下文章