题解 CF514A 【Chewbaсca and Number】

引领天下

2018-02-23 11:52:09

Solution

先发翻译: 给你一个数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); } ```