4 条题解
-
2
不是要用吗?为什么我看题解区好像没几个人用呀
#include <bits/stdc++.h> #define ll long long #define re register int using namespace std; map<int, int> mp; int n; ll x; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (re i = 1; i <= n; i++) { cin >> x; mp[x]++; } for (auto b : mp) cout << b.first << " " << b.second << endl; return 0; }
-
-2
#include<iostream> using namespace std; int a[200001],tmp[200001],i,j,n; void msort(int l,int r) //归并排序 { int mid; if(l==r) return; mid=(l+r)/2; msort(l,mid); msort(mid+1,r); int i=l,j=mid+1,k=l; while(i<=mid&&j<=r) { if(a[i]<=a[j]) tmp[k++]=a[i++]; else { tmp[k++]=a[j++]; } } while(i<=mid) tmp[k++]=a[i++]; while(j<=r) tmp[k++]=a[j++]; for(i=l;i<=r;i++) a[i]=tmp[i]; return; } int main() { cin>>n; for(i=1;i<=n;i++) cin>>a[i]; msort(1,n); int k=-1,count=0;//k表示前面出现的自然数,count统计自然数出现的次数 for(i=1;i<=n;i++) { if(a[i]!=k)//遇到新的自然数 { if(i>1)//遇到的不是第一次出现的自然数,输出前面的自然数 { cout<<k<<" "<<count<<endl; } k=a[i];//k记录新出现的自然数的值 count=1; //count记录新出现的自然数出现的次数,初始化为1 } else//即a[i]=k的情况 { count++; } } cout<<k<<" "<<count<<endl;//输出最后一个自然数出现的次数 return 0; }
- 1
信息
- ID
- 1098
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 35
- 已通过
- 23
- 上传者