AT_icpc2015autumn_b Change a Password

题目描述

JAG 办公室的密码是一个由 $N$ 位数字组成的,会定期更改。密码修改规则如下。 1. 新密码的位数与旧密码的位数一样,均为 $N$ 位。同时,新密码的每一个数字最多出现 $1$ 次(旧密码可能存在重复的数字)。 2. 在上述约束下,使得新密码与旧密码的差异最大化(密码之间的差异的定义如下所述)。 3. 如果有两个或两个以上的新密码符合条件,选择最小的密码。 两个密码 $a,b$ 之间的差异是至指 $\min(\vert a-b\vert ,10^{N}-\vert a-b\vert )$,其中 $N$ 为密码的位数。例如,$11$ 和 $42$ 的差异为 $31$,$987$ 和 $012$ 的差异为 $25$。

输入格式

一个 $N$ 位的正整数,表示旧密码。请注意,旧密码可能包含重复的数字,并且可能有前导零。

输出格式

一个数,表示新密码。 # 输入输出样例 输入 #1: ``` 201 ``` 输出 #1: ``` 701 ``` 输入 #2: ``` 512 ``` 输出 #2: ``` 012 ``` 输入 #3: ``` 99999 ``` 输出 #3: ``` 49876 ``` 输入 #4: ``` 765876346 ``` 输出 #4: ``` 265874931 ```