思路:1)先找到第一行最后一个“1”所在的列 j;
2)下一行 j 列是否是“1”,是,从 j 列往后遍历找到此行 最后一个“1”所在的列 j ,记录行;
3)重复 2)遍历完所有行;
#include<iostream>
using namespace std;
int FindRow(int **arr,int n,int m)
{
int tmp;
int i=0,j=0;
while(i<n)
{
if(arr[i][j]==1)
{
tmp=i+1;
while(arr[i][j]==1)
{
j++;
}
j--;
}
i++;
}
return tmp;
}
int main()
{
int m,n;
cin>>n;
cin>>m;
int **arr=new int*[n];
for(int i=0;i<n;i++)
{
arr[i]=new int[m];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>arr[i][j];
}
}
cout<<FindRow(arr,n,m)<<endl;
}