A. Chewbaсca and Number
感觉这道题巨坑,如果题中加粗标出来的输出得是正数算小坑的话。有个巨坑就是
the final number shouldn't start with a zero.
答案不能有前导0,我觉得这句话有两种理解:
比如将9999变为9,算不算有前导0呢?把9当做一位数就没有前导0,当做4位数就有前导0
好吧,根据“剧情需要”,看来是被当做有前导0的
所以,这道题的解法就是除了最高位如果是9的话,把其他所有大于等于5的数字t,全部转变为9-t
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 const int maxn = 25; 6 char s[maxn]; 7 8 int main() 9 { 10 scanf("%s", s); 11 int l = strlen(s); 12 for(int i = 0; i < l; ++i) 13 { 14 if(i == 0 && s[i] == '9') continue; 15 if(s[i] > '4') s[i] = '0' + '9' - s[i]; 16 } 17 printf("%s\n", s); 18 19 return 0; 20 }