C/C++教程

PAT-A1038(C/C++代码解析)

本文主要是介绍PAT-A1038(C/C++代码解析),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1038 Recover the Smallest Number (30 分)
在这里插入图片描述
注:贪心

#include <stdio.h>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std;
const int maxn=10010;
string z[maxn]; 
bool cmp(string a,string b)
{
    return a+b<b+a;
}
int main ()
{
    int n,i;
    string ans="";
    cin >>n;
    for (i=0;i<n;i++)
    cin >>z[i];
    sort(z,z+n,cmp);
    for (i=0;i<n;i++)
    ans=ans+z[i];
    while (ans.length()!=0&&ans[0]=='0')
    {
    	ans.erase(ans.begin());
	}
	if (ans.length()==0)
	printf ("0");
	else
	printf ("%s",ans.c_str());
    return 0;
}
这篇关于PAT-A1038(C/C++代码解析)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!