1040 搜索二位矩阵
#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;
// 思想就是和矩阵右上角元素比较,不断缩小范围
bool search(vector<vector<int>> matrix, int row, int col, int target)
{
if(row==0 || col==0)
{
return false;
}
int i = 0;
int j = col-1;
while(i<row && j>=0)
{
if(target == matrix[i][j])
{
return true;
}
else if(target < matrix[i][j])
{
j--;
}
else
{
i++;
}
}
return false;
}
int main()
{
int n_test;
cin>>n_test;
for(int i=0;i<n_test;i++)
{
int row;
int col;
int target;
cin>>row;
cin>>col;
cin>>target;
vector<vector<int>> matrix(row, vector<int>(col));
for(int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
cin>>matrix[i][j];
}
}
cout<<boolalpha<<search(matrix, row, col, target)<<endl;
}
}