• 题目描述了关于Convolution Codes的知识,
分成两个向量:
![](/acmhome/judge/images/3137-3.jpg)
• 我们只需要对于任意一个二进制序列,求出他的Convolution Codes输出。
• 对于一个二进制输入序列A,要求输出另一个二进制序列D,具体步骤如下:
![](/acmhome/judge/images/3137-5.jpg)
•
• Z=XUY
• 并且也给出了length(Z) = length(X))+ length(Y) -1;求
• B = AUP(1);
C = AUP(2);
• B(i) = B(i) % 2=[1100110001100101]; //二进制取模;
C(i) = C(i) % 2=[1011110001110011];//可以放在最后输出的时候取模
• 部分代码:
P[2][8]={"1011011","1111001"};
• for(i = 0;i < len; ++i)
• {
• for(j = 0;j < 7; ++j)
• {
• B[i+j] += (in[i] - '0') * (P[0][j] - '0');
• C[i+j] += (in[i] - '0') * (P[1][j] - '0');
• }
• }
• 求出B,C,之后按照D=[B(1)C(1)B(2)C(2) ……];;就能得出结果
•
•
•