动态xor矩阵,段故障或超时

时间:2017-03-28 08:05:06

标签: c matrix bit-manipulation

我正在构建动态xor矩阵的this exercise

由于缺乏记忆,我得到了段错误:

int main() {
   long long int col,row;
   scanf("%lld %lld",&col,&row); 
   int **matrix = new int*[row]; 

   for(long long int i=0; i<row; i++)
     matrix[i] = new int[col];

     for(long long int k=0;k<row;k++)
     {
       for(long long int j=0;j<col;j++)
       {
         if(k==0)
         scanf("%d",&matrix[k][j]);
            else if(j!=(col-1))
 __asm__ ( "xorl %%ebx, %%eax;": "=a"(matrix[k][j]) : "a"(matrix[k-`1][j]), "b"(matrix[k-1][j+1]));`

            else if(j==(col-1)) 
 __asm__ ( "xorl %%ebx, %%eax;": "=a"(matrix[k][j]) : "a"  (matrix[k-1][j]), "b"(matrix[k-1][0]));
            //  matrix[k][j]=matrix[k-1][j]^matrix[k-1][0]; 
            if(k==(row-1))  
              printf("%d ",matrix[k][j]);                             
       }           
     }
   }

我尝试用2个没有双循环的数组来做,但是我得到了CPU超时。

我的错误在哪儿?

0 个答案:

没有答案