题解 | #在行列都排好序的矩阵中找指定的数#
在行列都排好序的矩阵中找指定的数
http://www.nowcoder.com/practice/b929be9dbbaa489a91afa3fec195c228
这题其实是比较水的一道题,直接暴力枚举+查找即可
步骤:
1.先把n,m,k这几个变量输入,k是我们要查找的那个数,接着输入一个n*m的矩阵。
2.(核心)暴力枚举,用两个for循环,第一重循环定义i从1开始,一直到n,表示从第1行一直枚举到第n行,第
二重循环定义j从1开始,一直到m,表示从第1列一直枚举到第m列,这样整个矩阵都被我们枚举过了。
3.查找,在第2步我们已经实现了将整个矩阵枚举一遍,接着就可以与k进行比较:如果这个i行j列的元素与k相等,就表明找着了,输出"Yes"即可,停掉程序。如果没找着呢?就可以在程序最后输出"No",就OK了。
附上AC代码:
#include<bits/stdc++.h> using namespace std; int a[1001][1001]; int main() { int n,m,k; cin>>n>>m>>k; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(a[i][j]==k) { cout<<"Yes"<<endl; return 0; } } cout<<"No"<<endl; }
谢谢支持鸭!