竞赛
考级
解题思路 输入 a[i][j] (1 ~ n 和 1 ~ m) 输入一个正整数 x ,表示要输出的行 因为没有提到 j 的事,所以还是照常输出,最后输出 a[x][y] 但因为题目要求逆向输出,所以 j 先从 m 开始,最后循环到 1 这里可以参考一下二维数组的查询III 代码
咱们只需要一点点代码 就能完成了...... 求给赞
#include <iostream> using namespace std; const int MAX_N = 1005; const int MAX_M = 1005; short matrix[MAX_N][MAX_M]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; if (!(cin >> n >> m)) return 0; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { cin >> matrix[i][j]; } } int x; if (cin >> x) { for (int j = m; j >= 1; --j) { cout << matrix[x][j] << " "; } cout << endl; } return 0; } 点个赞吧?
非常正常的c++题解。 <cstdio>普遍比<iostream> 时间空间性能更好,scanf("%类型",?);是输入 而<vector>则能用变量定义数组长度,一维数组:vector<类型> 数组名(长度);二维数组:vector<vector<类型>> 名字(行数, vector<类型>(列数)); 而他要命名空间std,正常方法和代码中的方法都能用。 因为是反向输出,所以for里直接--m>=0,提前x--即可。 一同操作之后时间空间全90%以上。
提交答案之后,这里将显示提交结果~