zoukankan      html  css  js  c++  java
  • PAT 1038. Recover the Smallest Number

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<queue>
    #include<vector>
    #include<cmath>
    #include<iomanip>
    #include<algorithm>
    using namespace std;
    
    struct Node
    {
      char strNum[10];
      bool isUsed;
    };
    
    //获得字典序最小的数字,321,32这种情况要特殊考虑。
    string getMinStr(vector<Node> &v)
    {
      string strMin = "";
      int i, index = -1, indexMin = -1;
      for(i=0; i<v.size(); i++)
        if(!v[i].isUsed)
        {
          strMin = v[i].strNum;
          indexMin = i;
          v[i].isUsed = true;
          break;
        }
      
      for(i=0; i<v.size(); i++)
        if(!v[i].isUsed && (v[i].strNum+strMin) < (strMin+v[i].strNum) )
        {
          strMin = v[i].strNum;
          index = i;
        }
      if(index != -1 && index!=indexMin)
      {
        v[index].isUsed = true;
        v[indexMin].isUsed = false;
      }
      return strMin;
    }
    
    int main()
    {
      Node node;
      vector<Node> vNode;
      int N,i;
    //  cin>>N;
      scanf("%d",&N);
      for(i=0; i<N; i++)
      {
        scanf("%s",node.strNum);
    //    cin>>node.strNum;
        node.isUsed = false;
        vNode.push_back(node);
      }
      string strNum = "";
      string strTmp = getMinStr(vNode);
      while( strTmp != "")//若相等,则表示所有的数据已经用完。
      {
        strNum += strTmp;
        strTmp = getMinStr(vNode);
      }
    
      for(i=0; i<strNum.length(); i++)
        if(strNum[i] != '0')
          break;
    
      //全部都为0的情况
      if(i == strNum.length())
        cout<<0<<endl;
      else
      {
        for(;i<strNum.length(); i++)
          cout<<strNum[i];
        cout<<endl;
      }
    
      return 0;
    }
    

      

    多学习,多总结。
  • 相关阅读:
    利用本地浏览器远程服务器上的jupyter notebook
    解决IIS服务器Web访问提示输入密码
    IIS 配置
    override new 关键字的区别
    ASP.NET的网站的设计与优化
    山东人!
    远程连接SQL Server 2000服务器的解决方案
    对软件的新认识
    一个程序员成长的六个阶段
    优秀程序员应当具备的品质
  • 原文地址:https://www.cnblogs.com/yanhaiming/p/2819340.html
Copyright © 2011-2022 走看看