哈达玛矩阵乘法
作者: 赵晓鹏时间限制: 1S章节: 递归与分治

输入说明 :
见问题描述。
输出说明 :
见问题描述。
输入范例 :
1
 4 -6
输出范例 :
-2 10
#include <iostream>
#include <vector>
using namespace std;
vector<int>res;
void cal(int len, int*v){
    if(len==1){
        res.push_back(v[0]);
        return;
    }
    len=len/2;
    int left[len],right[len];
    for(int i=0;i<len;++i){
        left[i]=v[i];
        right[i]=v[i];
    }
    for(int i=len;i<2*len;++i){
        left[i-len]+=v[i];
        right[i-len]-=v[i];
    }
    cal(len, left);
    cal(len, right);
}
int main(){
    int k;
    cin>>k;
    int len=1;
    for(int i=1;i<=k;++i){
        len*=2;
    }
    int v[len];
    for(int i=0;i<len;++i){
        cin>>v[i];
    }
   cal(len, v);
   for(long long unsigned int i=0;i<res.size();++i){
    if(i==res.size()-1){
        cout<<res[i];
    }
    else{
        cout<<res[i]<<' ';
    }
   }
    return 0;
}
  



















