A. Chewbaсca and Number
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard outputLuke Skywalker gave Chewbacca an integer number x. Chewbacca isn't good at numbers but he loves inverting digits in them. Inverting digit t means replacing it with digit 9 - t.
Help Chewbacca to transform the initial number x to the minimum possible positive number by inverting some (possibly, zero) digits. The decimal representation of the final number shouldn't start with a zero.
Input
The first line contains a single integer x (1 ≤ x ≤ 1018) — the number that Luke Skywalker gave to Chewbacca.
Output
Print the minimum possible positive number that Chewbacca can obtain after inverting some digits. The number shouldn't contain leading zeroes.
Sample test(s)
input
27
output
22
input
4545
output
4444
最近不知道怎么了,也是醉了,BCBC坑,CFCF坑。。在家脑袋就不灵光。。
. The decimal representation of the final number shouldn't start with a zero.
这句话····我一直卡在这里,题意要求不能以0为开始,所以我们特判第一位,如果是9就不变,否则如果大于5就用,9减去。
剩下的如果大于5就用9减去就可以了。
#include<iostream> #include<cstdio> #include<string.h> #include<string> #include<stack> #include<set> #include<algorithm> #include<cmath> #include<vector> #include<map> #define ll __int64 #define lll unsigned long long #define MAX 1000009 #define eps 1e-8 using namespace std; int main() { string a,b; while(cin>>a) { if(a[0]!='9'&&a[0]>='5') { a[0] = (9 - (a[0] - '0')) + '0'; } cout<<a[0]; for(ll i = 1; i<a.size(); i++) { if(a[i]>='5') { a[i] = (9 - (a[i] - '0')) + '0'; } cout<<a[i]; } cout<<endl; } return 0; }
本文探讨了Chewbacca如何通过数字逆运算将初始整数转换为最小可能的正整数,同时遵循特定规则避免以零开头。通过实例分析和代码实现,深入解析了这一有趣数学问题的解决策略。
199

被折叠的 条评论
为什么被折叠?



