Crazy Rows

来源:互联网 发布:java工程师学历要求 编辑:程序博客网 时间:2024/05/17 15:05

这里写图片描述

//矩阵中每行最后1的位置最为关键。另外越再前行,1的个数应越少。//输入int Matrix[max][max];int _N;int a[max];//统计每行最后1的位置int solve(){    int ans = 0;    for(int i=0;i<_N;i++){        a[i] = -1;//全是0        for(int j=0;j<_N;j++){            if(Matrix[i][j]==1)               a[i] = j;        }    }    for(int i=0;i<_N;i++){        int pos = -1;        for(int j=i;j<_N;j++){            if(a[j]<=i){               pos = j;               break;            }        }        for(int j=pos;j>i;j--){            swap(a[j],a[j-1]);            ans++;        }    }    return ans;}
原创粉丝点击