使用C++解决问题:题目描述 众所周知, NBA形象大使喜欢打篮球 现在球场上有很多篮球,但是形象大使只喜欢最最最左上角的那个篮球, (行比列更优先) ,现在输入一个N,M表示一个N*M的球场, 其中1表示篮球, 0表示空地, 你需要找到那个最最最左上角的那个篮球,并输出他的坐标 (x,y) (行,列) 输入描述 第一行,两个正整数N,M. (1<=N,M<20) 第2 ~ N+1 行 , 每一行的信息, 两个数字中间用空格隔开 输出描述 最最最左上角的那个篮球的坐标 样例输入 4 5 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 样例输出 1 3
时间: 2023-09-24 12:09:22 浏览: 85
以下是使用 C++ 解决该问题的代码示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> court(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> court[i][j];
}
}
int x = -1, y = -1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (court[i][j] == 1) {
x = i;
y = j;
break;
}
}
if (x != -1 && y != -1) {
break;
}
}
cout << x + 1 << " " << y + 1 << endl;
return 0;
}
```
代码思路:
1. 输入 N 和 M,创建一个 N 行 M 列的二维数组 `court`,用于表示球场。
2. 循环读入 N 行数据,将每个位置的值存入二维数组 `court` 中。
3. 初始化变量 x 和 y 为 -1,表示还未找到篮球的位置。
4. 遍历二维数组 `court`,找到第一个值为 1 的元素,并将其行列下标分别存入变量 x 和 y 中。
5. 输出变量 x 和 y 的值,注意行列下标从 0 开始,输出时需要加 1。
这样就可以解决该问题了。
阅读全文