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