online_judge_1384

来源:互联网 发布:php 简单信息录入系统 编辑:程序博客网 时间:2024/06/10 10:42
#include <iostream>#include <cstdio>using namespace std;int main(){    int **a;    int num;    int row,col;    int i,j;    int index_row,index_col;    bool flag;    while(~scanf("%d%d%d",&row,&col,&num))    {        a = new int*[row];        for(i=0; i<row; ++i)        {            *(a+i) = new int[col];            for(j=0; j<col; ++j)            {                scanf("%d",&a[i][j]);            }        }        flag = false;        index_row = 0;        index_col = col-1;        while(index_row<row && index_col>=0)        {            if(a[index_row][index_col] < num)                index_row++;            else if(a[index_row][index_col] > num)                index_col--;            else            {                flag = true;                break;            }        }        if(flag)            printf("Yes\n");        else            printf("No\n");        for(i=0; i<row; ++i)            delete[] *(a+i);        delete[] a;    }    return 0;}

 

算法的时间复杂度是O(m+n)。想着应该有时间复杂度更低的解法。O(log(m+n))……

0 0
原创粉丝点击