题解 CF514A 【Chewbaсca and Number】
引领天下
2018-02-23 11:52:09
先发翻译:
给你一个数x($ x<={10}^18$),可以对它的每一位数y进行翻转(将其替换为9-y),也可以不替换。求最小
# **正数**
这个请管理员放到题面上。
------------
题解
------------
这题其实不难,只需按题意模拟即可。
### 但是
## 有坑点!
那就是需要特判的情况:
首位为0(包括整个数为0的情况)
很明显,这种情况是不符合**正数**这一条件的
所以我在题面中标记了这个坑
注意了这点,代码就很好写了
上巨短代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
char a[20];
int main(void){
scanf ("%s",a);
for (int i=0;a[i];i++)a[i]=min(a[i],char(9+'0'-a[i]+'0'));
if (a[0]=='0')a[0]='9';
printf ("%s",a);
}
```