问题标题: 酷町堂:3812 高考分排序

0
0
已解决
徐紫尘
徐紫尘
高级光能
高级光能
#include<iostream>
using namespace std;
int n,a[100100],b[10000],s,flag;
int main()
{
    cin>>n;
    for(int i=1;i<=n;++i)
    {
        cin>>a[i];
        b[a[i]]=1;
    }
    for(int i=1;i<=n-1;i++) {
        if(flag==0)
            break;
        flag=0;
        for(int j=1;j<=n-i;j++) {
            if(a[j]<a[j+1]) {
                flag=1;
                swap(a[j],a[j+1]);
            }
        }
    }
    for(int i=1;i<=1000;++i)
    {
        if(b[i]==1)
            cout<<i<<" ";
    }
    return 0;
}

 


0
已采纳
赵航宇
赵航宇
资深守护
资深守护

你好!!!

这题其实可以用桶做的

定义一个桶我就不说了(这题要定义两个数组)

输入用一个循环
    {
        cin>>a[i];
        b[a[i]]=1;
    }

输出用一个循环(这个应该不用说了吧)

{
if(b[i]==1)
        cout<<i<<" ";

}

望采纳!!!

祝你AC

0
0
陈曦
陈曦
资深天翼
资深天翼

题目方法:
    桶的去重排序。

题目思路:
    1、输入 t ,并将 t 存入对应的桶中。
    2、再循环判断如果 a[i ]非 0,就输出 i 。

0
我要回答