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;
    }
}