1. 不同角度【算法赛】
在生活中,我们总是根据数值的大小来判断两个数字的大小关系。例如,9999 总是小于 100100,999999 总是小于 10001000。但如果我们换一个角度,将 999999 和 10001000 看成是两个数字字符串,并用字典序来比较它们的大小,那么此时,999999 将大于 10001000。
字典序的比较规则类似于字典中单词的排序:从左到右逐位比较,如果对应位置的字符不同,则较小的字符对应的字符串字典序较小;如果所有对应位置的字符都相同,则比较字符串的长度,较短的字符串字典序较小;如果长度也相同,则两个字符串字典序相同。
现在,给定一个自然数 SS,请你找到一个自然数 TT,使得将 SS、TT 转换为数字字符串后,(数字字符串)TT 的字典序大于(数字字符串)SS,并且在所有满足此条件的数字字符串中,(数字字符串)TT 的字典序是最小的。
输入格式
第一行包含一个整数 tt (1≤t≤103)(1≤t≤103),表示测试用例的数量。
接下来的 tt 行,每行包含一个不超过 109109 的自然数,表示 SS。
输出格式
对于每个测试用例,输出一个整数,表示满足条件的自然数 TT。
样例输入
2
99
999
样例输出
990
9990
贪心题。普通的数字在后面加0是大于并且字典序最小的,但是如果输入的是0,1才是最小的。

#include <iostream> using namespace std; int main() {string s;int t;for(cin>>t;t;t--){cin>>s;if(s=="0")cout<<"1\n";elsecout<<s<<0<<endl;} }