#include<bits/stdc++.h>
using namespace std;
#define int short int
#define fi first
#define se second
#define pb push_back
#define ins insert
#define er erase
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<ii, ii> iiii;
int n, r, c, s[305], e[305], pref[45][45], ans = 10005;
bool ck(int up, int left, int down, int right){
for(int i = 1; i <= r; i++){
for(int j = 1; j <= c; j++) pref[i][j] = 0;
}
for(int i = 1; i <= n; i++){
pref[max(1, s[i] - up)][max(1, e[i] - left)]++;
pref[min(r + 1, s[i] + down + 1)][max(1, e[i] - left)]--;
pref[max(1, s[i] - up)][min(c + 1, e[i] + right + 1)]--;
//cout << max(1, s[i] - up) << " " << max(1, e[i] - left) << " " << min(r + 1, s[i] + down + 1) << " " << min(c + 1, e[i] + right) << "\n";
}
for(int i = 1; i <= r; i++){
for(int j = 1; j <= c; j++) pref[i][j] += pref[i][j - 1];
}
for(int i = 1; i <= r; i++){
for(int j = 1; j <= c; j++){
pref[i][j] += pref[i - 1][j];
if(!pref[i][j]) return 0;
}
}
return 1;
}
int mini(int a, int b){
return ((a < b) ? a : b);
}
signed main(){
ios_base::sync_with_stdio(0);
cin >> r >> c >> n;
for(int i = 1; i <= n; i++) cin >> s[i] >> e[i];
//cout << ck(0, 1, 2, 2) << "\n";
for(int i = 0; i < r; i++){
for(int j = 0; j < c; j++){
int itr = c - j - 1, temp = i + j - 1;
for(int k = 0; k <= (r - 1 - i); k++){
while(itr >= 0 && ck(i, j, k, itr)) --itr;
++itr;
++temp;
//cout << i << " " << j << " " << k << " " << itr << " " << temp + itr << "\n";
if(ck(i, j, k, itr)) ans = mini(ans, temp + itr);
}
}
}
cout << ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
384 KB |
Output is correct |
2 |
Correct |
0 ms |
384 KB |
Output is correct |
3 |
Correct |
0 ms |
384 KB |
Output is correct |
4 |
Correct |
0 ms |
384 KB |
Output is correct |
5 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
384 KB |
Output is correct |
2 |
Correct |
0 ms |
384 KB |
Output is correct |
3 |
Correct |
0 ms |
384 KB |
Output is correct |
4 |
Correct |
0 ms |
384 KB |
Output is correct |
5 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
384 KB |
Output is correct |
2 |
Correct |
0 ms |
384 KB |
Output is correct |
3 |
Correct |
0 ms |
384 KB |
Output is correct |
4 |
Correct |
0 ms |
384 KB |
Output is correct |
5 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
384 KB |
Output is correct |
2 |
Correct |
0 ms |
384 KB |
Output is correct |
3 |
Correct |
0 ms |
384 KB |
Output is correct |
4 |
Correct |
0 ms |
384 KB |
Output is correct |
5 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
6 |
Halted |
0 ms |
0 KB |
- |