A1038 Recover the Smallest Number [贪心]

在这里插入图片描述
注意点:

  1. 注意开头可能不只有一个0,可能有多个。
  2. 这题我也没想出来怎么做,感觉自己菜菜死了。
#include<iostream>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
string str[10001];
bool cmp(string a, string b)
{
	return a + b < b + a;
}
int main()
{
	int n; cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> str[i];
	}
	sort(str, str + n, cmp);
	string temp;
	for (int i = 0; i < n; i++)
	{
		temp += str[i];
	}
	while (temp[0] == '0')
	{
		temp.erase(temp.begin());
	}
	if (temp.size() == 0)
		cout << "0";
	else
		cout << temp;
	return 0;
	
}
posted @ 2020-07-10 21:05  _Hsiung  阅读(27)  评论(0编辑  收藏  举报