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;
    }
    

      

    多学习,多总结。
  • 相关阅读:
    DeepL 人工智能翻译降临 deepl.com
    Node.js ESM(ECMAScript Modules)
    解决Ubuntu 20.04 LTS无法输入中文的问题
    实现pdnsd
    颜色
    Ubuntu 20.04 LTS
    JSX 空的根元素
    如何理解TypeScript接口​​中的语法[key: string]以及[key: number]
    React-Router-DOM
    video转canvas, 并截图
  • 原文地址:https://www.cnblogs.com/yanhaiming/p/2819340.html
Copyright © 2011-2022 走看看