標籤:set fine cti begin line def 實現 i++ time
題意:
給定n個數,去重排序後輸出個數和每個數
1.map實現
#pragma GCC optimize("O2")#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<stack>#include<set>#include<map>#include<limits.h>#include<ctime>#define N 100001typedef long long ll;const int inf=999999999;const int maxn=2017;using namespace std;inline int read(){ int f=1,x=0;char ch=getchar(); while(ch>‘9‘|ch<‘0‘) { if(ch==‘-‘) f=-1; ch=getchar(); } while(ch<=‘9‘&&ch>=‘0‘) { x=(x<<3)+(x<<1)+ch-‘0‘; ch=getchar(); } return f*x;}typedef map<int,bool> mp;mp m;int main(){int n=read();for(int i=1;i<=n;i++){int k=read();m[k]=1;}cout<<m.size()<<endl;for(mp::iterator i=m.begin();i!=m.end();i++)cout<<i->first<<endl;}
2.set實現
#pragma GCC optimize("O2")#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<stack>#include<set>#include<map>#include<limits.h>#include<ctime>#define N 100001typedef long long ll;const int inf=999999999;const int maxn=2017;using namespace std;inline int read(){ int f=1,x=0;char ch=getchar(); while(ch>‘9‘|ch<‘0‘) { if(ch==‘-‘) f=-1; ch=getchar(); } while(ch<=‘9‘&&ch>=‘0‘) { x=(x<<3)+(x<<1)+ch-‘0‘; ch=getchar(); } return f*x;}set<int>s;int main(){ int n=read(); for(int i=1;i<=n;i++) {int k=read();s.insert(k);} printf("%d",s.size()); for(set<int>::iterator i=s.begin();i!=s.end();i++) cout<<*i<<endl;}
去重+排序板子(set+map)