• [1037] 差分曼彻斯特编码

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 差分曼彻斯特编码是用于计算机网络中的数据传输的。

    首先每位二进制数据其信号都要跳变一次。比如低电平要跳到高电平,高电平需要跳到低电平。

    若当前位为1,则信号的前半段与前一信号的后半段相同;若当前位为0,则信号的前半段与前一信号的后半段相反。

    设首位若为1,则信号前半段为高电平,否则为低电平。

    0101100100100的差分曼彻斯特编码如下:

    第一位为0,所以是

      +-
      |
     -+
    

    第二位为1,则前半段与前一位的后半段相同,所以是

     -+
      |
      +-
    

    每个信号只可能是如下两种状态:

      +-      -+
      |   和   |
     -+        +-
    

    每两个信号之间由+以及|相连。

  • 输入
  • 本题有多组测试数据,以EOF结尾。
    每组数据一行01串,长度不超过100。
  • 输出
  • 对于每组数据输出其差分曼彻斯特编码的电平信号,其规则参考题目描述以及样例。
    注意输出每行的最后没有空格。
  • 样例输入
  • 0101100100100
  • 样例输出
  •  +-+-+ +-+   +-+-+ +-+ +-+   +-+ +-+ +-+-+ +-+ +-+
     |   | | |   |   | | | | |   | | | | |   | | | | |
    -+   +-+ +-+-+   +-+ +-+ +-+-+ +-+ +-+   +-+ +-+ +-
  • 提示
  • 来源
  • XadillaX
  • 操作

显示春菜