• NOJ 字符串排序 1023




    字符串排序

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 1475            测试通过 : 321 

    题目描述

    有一些ACM组成的字符串,将其按字符A排序。



    输入

    一组测试数据,输入数据由若干行组成,每行是字符ACM组成的字符串。(每个字符串长度不超过1200)

    输出

    对所有输入的数据,先按字符A的个数进行升序排序,如果字符A的数量相等,再按出现的先后顺序排序,每行输出一个字符串。

    样例输入

    ACM
    MCA
    AACAAMMM
    AACCMM
    CMAAMMMMMM
    AAA

    样例输出

    ACM
    MCA
    AACCMM
    CMAAMMMMMM
    AAA
    AACAAMMM


    这题本来用string类对象的==可是对象的值排序无变化==STL的机制无力

    改成字符数组了。

    实现代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    using namespace std;
    char a[2000+1],s[2000+1][2000+1];
    int b[2000+1];
    int main()
    {
        int i=0;
        while(scanf("%s",&a)!=EOF)
        {
            strcpy(s[i],a);
            for(int k=0;s[i][k]!='';k++)
            {
                if(s[i][k]=='A')
                    b[i]++;
            }
            i++;
        }
        int m=i,p,min;
        while(i--)
        {
            min=2001;
            for(int j=0;j<m;j++)
            {
                if(min>b[j])
                {
                    min=b[j];
                    p=j;
                }
            }
            b[p]=2001;
            printf("%s
    ",s[p]);
        }
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Unix网络编程中的五种IO模型
    go工具库分析——go-snowflake
    defer
    滑动窗口
    快速幂
    Golang使用注意点
    微服务数据一致性基础认知
    KMP算法
    单调栈和单调队列
    LRU简单学习
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965504.html
Copyright © 2020-2023  润新知