HDU 7067 - Just another board game
分情况讨论,k=1,k为奇数,k为偶数
特判第一个人直接不玩的情况即可
const int maxn = 1e5 + 7;
#define int long long
int n, t, m, k;
vector<int> mp[maxn], pc[maxn];
void solve() {
cin >> t;
while (t--) {
cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
for (int j = 1, c; j <= m; j++) {
cin >> c;
mp[i].push_back(c);
pc[j].push_back(c);
}
}
int ans = 0;
if (k % 2 == 0) {
for (int i = 1; i <= m; i++) ans = max(ans, *min_element(all(pc[i])));
} else {
if (k == 1) {
ans = *max_element(all(mp[1]));
} else {
ans = 1e9;
for (int i = 1; i <= n; i++) ans = min(ans, *max_element(all(mp[i])));
}
}
cout << max(ans, mp[1][0]) << endl;
for (int i = 1; i <= n; i++) mp[i].clear();
for (int i = 1; i <= m; i++) pc[i].clear();
}
}
我看见 你