Preparing NOJ

大发明家的童年

1000ms 65536K

Description:

        多少年后,当大发明家黑默丁格超神的那一刻,准会想起父亲着带他学习《通信原理》的那个下午;

        数字信号是由01构成的数字串,传输数字信号的时候会先经过转码处理然后进行传输,下面给出两种码的说明:

        AMI码:信号码中信号0不变,信号1交替变成+1,-1,(这里我们规定第一个1变为-1)

        1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 改写成AMI码之后就成为了:

        -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1

        HDB3码:检查信息码中连"0"的个数,若连"0"个数小于3,则HDB3码与AMI码完全相同

        当出现4个以上连"0"的时候,每4个连"0"变为000V,V的极性与前一个非0码极性相同,

        相邻V之间的极性必须相反,所以如果相邻V之间1码的个数为偶数,则后一段000V变为B00V,B的极性与前一个非0码相反,V的极性要与该B相同,同时后面的非0码的极性也要从V码开始再交替变化,即后面的1要根据最后的V的极性进行交替

        现在给定一串信息原码,求修改之后的HDB3码。

    (顺带一提,出题人绝对不是抱着被通原虐了然后想要虐大家这样邪恶想法才出这道题的,绝对..(^.^)

Input:

单组样例,先输入一个正整数n,表示信息原码的长度,4n100;

接着,输入n个整数,表示由0,1组成的数字表示信息原码的构成。

题目保证第一段4连“0”之前肯定会有1。

Output:

输出一行:根据条件分别输出0,-1,+1,+B,-B,+V,-V,互相之间用空格隔开,最后一个码后面不要空格。

Sample Input:

18
1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1

Sample Output:

-1 0 0 0 -V +1 0 0 0 +V -1 +1 -B 0 0 -V +1 -1

Note:

本题由旧版NOJ导入,来源:kojimai

Info

NOJ

Provider NOJ

Code NOJ2071

Tags

Submitted 1

Passed 1

AC Rate 100%

Date 04/20/2019 10:03:10

Related

Nothing Yet