比赛 |
2024暑假C班集训C |
评测结果 |
AAATTTTTTTTTTTTTTTTA |
题目名称 |
洛希的极限 |
最终得分 |
20 |
用户昵称 |
ht骨架 |
运行时间 |
80.004 s |
代码语言 |
C++ |
内存使用 |
3.21 MiB |
提交时间 |
2024-07-12 09:55:35 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n, m, ans, q, t, r1[100005], r2[100005], c1[100005], c2[100005], x, y, bi;
bool c (int x, int y, int ii, int jj) {
for (int i = 1; i <= q; i++) {
if (x >= r1[i] && ii <= r2[i] && y >= c1[i] && jj <= c2[i]) {
return true;
}
else {
}
}
return false;
}
void dfs (int x, int y, int tt) {
if (tt == bi) {
ans ++;
}
if (tt > bi) {
bi = tt;
ans = 1;
}
for (int i = x + 1; i <= n; i++) {
for (int j = y + 1; j <= m; j++) {
if (c(x, y, i, j) == true) {
dfs (i, j, tt + 1);
}
}
}
}
int main () {
freopen ("roche.in", "r", stdin);
freopen ("roche.out", "w", stdout);
cin >> t;
while (t--) {
cin >> n >> m >> q;
for (int i = 1; i <= q; i++) {
cin >> r1[i] >> c1[i] >> r2[i] >> c2[i];
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
dfs (i, j, 1);
}
}
cout << bi << " " << ans << endl;
bi = 0;
ans = 0;
}
return 0;
}
/*
3 2 -4 2 3
5 5
*/