首页 > 学院 > 开发设计 > 正文

1038. Recover the Smallest Number (30)

2019-11-11 07:54:44
字体:
来源:转载
供稿:网友

注意除去前面零的几种情况

#include<iostream>#include<algorithm>#include<vector>#include<map> #include<string>#include<set>using namespace std;vector<string> s;bool comp(string a, string b){	string s1 = a + b;	string s2 = b + a;	if(s1 < s2) return true;	else return false;}int main(){	int n;	cin>>n;	for(int i = 0; i < n; i++){		string temp;		cin>>temp;		s.push_back(temp);	} 	sort(s.begin(),s.end(),comp);	bool beginzero = true;	for(int i = 0; i < n; i++){		int j = 0;	    while(j < s[i].size()){		    if(s[i][j] != '0' || beginzero == false){			    PRintf("%c",s[i][j]);			    beginzero = false;		    }		    j++;	    }	}	if(beginzero == true) cout<<0;//都是零 	return 0;} 

1、样例的情况,只要考虑首串前面部分元素的零问题

2、可能存在一个串或多个串元素都是零

3、所有串所有元素都是零,输出结果应为“0”,序号2的两分点就是考查这个


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表