该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

原码转补码(complement)

题目描述

Y 同学正在学习二进制数的编码表示。

现在给定一个长度为 nn 的二进制字符串 ss,表示一个 nn 位二进制数的原码

原码、反码和补码的定义如下:

  • 对于正数:
    • 最高位为 00,表示符号位;
    • 原码、反码和补码完全相同。
  • 对于负数:
    • 原码的最高位为 11,其余 n1n-1 位表示该数绝对值的二进制;
    • 反码保持最高位不变,其余每一位取反,即 0 变为 11 变为 0
    • 补码是在反码的基础上加 11,运算结果只保留最低的 nn 位。

请你根据给出的原码 ss,求出它对应的 nn 位补码。

输入格式

输入一行一个长度为 nn 的二进制字符串 ss

字符串 ss 仅由字符 01 组成。

输出格式

输出一行一个长度为 nn 的二进制字符串,表示 ss 对应的补码。

样例

样例输入 #1

011100001111

样例输出 #1

011100001111

样例输入 #2

1111000011111

样例输出 #2

1000111100001

样例输入 #3

1000

样例输出 #3

0000

样例输入 #4

1100

样例输出 #4

1100

样例输入 #5

1010

样例输出 #5

1110

数据范围与约定

对于 100100% 的数据,保证:

  • 1n1001\le n\le100
  • ss 的长度恰好为 nn
  • ss 仅由字符 01 组成。
测试点编号 分值 具体限制 特殊性质
121\sim2 1010 n4n\le4 特殊性质 A
343\sim4 n10n\le10 特殊性质 B
565\sim6 n20n\le20 特殊性质 C
7107\sim10 2020 n40n\le40
111411\sim14 n70n\le70
152015\sim20 3030 n100n\le100
  • 特殊性质 A:保证 ss 的最高位为 0
  • 特殊性质 B:保证 ss 的最高位为 1,且除符号位外至少存在一个 1
  • 特殊性质 C:保证除符号位外至多存在一个 1