1 条题解
-
0
教室座位成绩统计 题解
思路
按从上到下、从左到右的顺序扫描二维结构体数组。只有遇到严格更高的成绩时才更新,因此并列时会自然保留行号、列号更小的学生。
参考代码
#include <bits/stdc++.h> using namespace std; struct Student { string name; int score; }; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<vector<Student>> seat(n, vector<Student>(m)); for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cin >> seat[i][j].name >> seat[i][j].score; } } for (int i = 0; i < n; ++i) { int sum = 0; for (int j = 0; j < m; ++j) sum += seat[i][j].score; cout << sum << '\n'; } int bestRow = 0, bestCol = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (seat[i][j].score > seat[bestRow][bestCol].score) { bestRow = i; bestCol = j; } } } cout << bestRow + 1 << ' ' << bestCol + 1 << ' ' << seat[bestRow][bestCol].name << ' ' << seat[bestRow][bestCol].score << '\n'; return 0; }
- 1
信息
- ID
- 5086
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
粤公网安备44195502000195号