问题标题: 酷町堂:3975 !(去重)排序2 为什么我会错?啊啊啊

0
0
已解决
邹昊轩
邹昊轩
资深光能
资深光能

网址:https://newcourse.codingtang.com/#/problem/problemSub?id=3975

错误代码如下(60分):

#include<iostream>
#include<algorithm>
using namespace std;
long long a[1000001],b[1000001],c[1000001];
int main()
{
    int n,m;
    bool flag=false;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        b[a[i]]++;
    }
    for(int i=1;i<=n-1;i++){
        flag=false;
        for(int j=1;j<=n-i;j++){
            if(a[j]<a[j+1]){
                swap(a[j],a[j+1]);
                flag=true;
            }
        }
        if(flag==false){
            break;
        }
    }
    for(int i=1;i<=n;i++){
        if(b[a[i]]!=m){
            cout<<a[i]<<" ";
            b[a[i]]=0;
        }
    }
    return 0;
}

 


1
已采纳
董宇昊
董宇昊
初级启示者
初级启示者

其实用不着这么麻烦

这是核心

  • if(a[i]==cnt){
  • continue;
  • }
  • else cout<<i<<' ';

简单的桶排就可以了

望采纳

0
0
董宇昊
董宇昊
初级启示者
初级启示者

举报楼上!!!

没看版规吗?

0
我要回答