C++ 编程题:考场座位安排 - 寻找star的座位
C++ 编程题:考场座位安排 - 寻找star的座位
这道编程题要求你使用 C++ 语言编写程序,解决考场座位安排问题。给定一个考场座位图和star的考号,你需要找出star应该坐的位置。考场座位图中,0 代表座位是好的,1 代表座位是坏的。需要考虑座位排布的顺序和坏座位的影响,找到star的最终座位坐标。
题目描述:
选拔考试即将开始,同学们陆续进入考场,哇,考场好大啊。究竟star应该坐在哪张位置呢?考场门口贴了一张考场座位(m*n)明细表,其中考场里的有些位置是坏的不能坐,考号为1的同学的座位号是第一排第一列,即他的座位是[1,1],2号同学的座位是[1,2],以此类推,当座位排至[1,n]时,下一位同学应坐在[2,1]的位置,当然,如果某个座位是坏的,那么这个同学就往后延一个座位,后面的同学再依次排下去。考场座位肯定够所有考生坐。
输入:
第一行3个整数,m,n,k(m,n表示考场的座位是m行n列,k表示star的考号)m,n<=100;
接下来m行,每行n个数代表考场明细0代表座位是好的,1代表座位是坏的。
输出:
一行两个整数代表star应该坐的位置。
样例组
样例输入1:
4 4 5
0 0 0 0
0 0 1 0
0 0 0 1
0 0 0 0
样例输出1:
2 1
要求:
时间限制:1.0Sec
内存限制:128MB
用C++内容:
```cpp #includeusing namespace std;
int main() { int m, n, k; cin >> m >> n >> k;
vector<vector<int>> seats(m, vector<int>(n));
int row = 0, col = 0;
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> seats[i][j];
if (seats[i][j] == 0) {
count++;
if (count == k) {
row = i + 1;
col = j + 1;
}
}
}
}
cout << row << " " << col << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pZEw 著作权归作者所有。请勿转载和采集!