QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#695138 | #6746. Merge the Rectangles | R73757565# | AC ✓ | 93ms | 21660kb | C++20 | 2.6kb | 2024-10-31 19:23:54 | 2024-10-31 19:23:54 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
signed main(){
ios::sync_with_stdio(0), cin.tie(0);
int n, m;
cin >> n >> m;
// n = 1500, m = 1500;
vector<vector<int>> ex(n + 10, vector<int>(m + 10));
vector<vector<int>> ey(n + 10, vector<int>(m + 10));
for(int i = 1; i <= n - 1; i ++){
for(int j = 1; j <= m; j ++){
char c;
cin >> c;
ex[i][j] = (c == '1');
ex[i][j] += ex[i - 1][j] + ex[i][j - 1] - ex[i - 1][j - 1];
}
}
for(int i = 1; i <= n; i ++){
for(int j = 1; j <= m - 1; j ++){
char c;
cin >> c;
ey[i][j] = (c == '1');
ey[i][j] += ey[i - 1][j] + ey[i][j - 1] - ey[i - 1][j - 1];
}
}
auto checkx =[&](int x, int y1, int y2){
if(y1 >= y2)return true;
int tot = ex[x][y2] - ex[x][y1] - ex[x - 1][y2] + ex[x - 1][y1];
if(tot == abs(y1 - y2))return true;
else return false;
};
auto checky =[&](int y, int x1, int x2){
if(x1 >= x2)return true;
int tot = ey[x2][y] - ey[x1][y] - ey[x2][y - 1] + ey[x1][y - 1];
if(tot == abs(x1 - x2))return true;
else return false;
};
// for(int i = 1; i < n; i ++){
// for(int j = 1; j <= m; j ++)
// cout << ex[i][j] << " ";
// cout << endl;
// }
// for(int i = 1; i <= n; i ++){
// for(int j = 1; j < m; j ++)
// cout << ey[i][j] << " ";
// cout << endl;
// }
function<bool(int, int, int, int)> dfs =[&] (int x1, int y1, int x2, int y2){
//
if(x1 + 1 >= x2 && y1 + 1 >= y2)return true;
int tx = ex[x2 - 1][y2] - ex[x1][y2] - ex[x2 - 1][y1] + ex[x1][y1];
int ty = ey[x2][y2 - 1] - ey[x1][y2 - 1] - ey[x2][y1] + ey[x1][y1];
if(tx + ty <= 0)return true;
if (tx){
for(int i = x1 + 1; i <= x2 - 1; i ++){ //
// y1, y2
if(checkx(i, y1, y2)){
if(dfs(x1, y1, i, y2) && dfs(i, y1, x2, y2))return true;
else return false;
}
}
}
if (ty) {
for(int i = y1 + 1; i <= y2 - 1; i ++){
// x1, x2
if(checky(i, x1, x2)){
if(dfs(x1, y1, x2, i) && dfs(x1, i, x2, y2))return true;
else return false;
}
}
}
return false;
};
if(dfs(0, 0, n, m)){
cout << "YES" << '\n';
}else cout << "NO" << '\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3608kb
input:
3 4 0000 0111 101 101 110
output:
YES
result:
ok answer is YES
Test #2:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
3 3 110 011 01 11 10
output:
NO
result:
ok answer is NO
Test #3:
score: 0
Accepted
time: 33ms
memory: 20988kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #4:
score: 0
Accepted
time: 78ms
memory: 21600kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #5:
score: 0
Accepted
time: 38ms
memory: 21356kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #6:
score: 0
Accepted
time: 38ms
memory: 21248kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #7:
score: 0
Accepted
time: 56ms
memory: 21272kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #8:
score: 0
Accepted
time: 38ms
memory: 21076kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #9:
score: 0
Accepted
time: 34ms
memory: 21008kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #10:
score: 0
Accepted
time: 91ms
memory: 21600kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #11:
score: 0
Accepted
time: 90ms
memory: 21608kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #12:
score: 0
Accepted
time: 78ms
memory: 21272kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #13:
score: 0
Accepted
time: 50ms
memory: 21260kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #14:
score: 0
Accepted
time: 93ms
memory: 21604kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #15:
score: 0
Accepted
time: 90ms
memory: 21528kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #16:
score: 0
Accepted
time: 53ms
memory: 21264kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #17:
score: 0
Accepted
time: 51ms
memory: 21260kb
input:
1500 1500 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #18:
score: 0
Accepted
time: 90ms
memory: 21524kb
input:
1500 1500 10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #19:
score: 0
Accepted
time: 89ms
memory: 21512kb
input:
1500 1500 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #20:
score: 0
Accepted
time: 48ms
memory: 21340kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #21:
score: 0
Accepted
time: 47ms
memory: 21324kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #22:
score: 0
Accepted
time: 89ms
memory: 21524kb
input:
1500 1500 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #23:
score: 0
Accepted
time: 88ms
memory: 21660kb
input:
1500 1500 10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #24:
score: 0
Accepted
time: 61ms
memory: 21320kb
input:
1500 1500 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #25:
score: 0
Accepted
time: 51ms
memory: 21264kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #26:
score: 0
Accepted
time: 89ms
memory: 21616kb
input:
1500 1500 01111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #27:
score: 0
Accepted
time: 90ms
memory: 21512kb
input:
1500 1500 11011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #28:
score: 0
Accepted
time: 48ms
memory: 21412kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #29:
score: 0
Accepted
time: 56ms
memory: 21248kb
input:
1500 1500 00010000000000011110111101011011110011001110011110011101111011110111000111000110001101111011110101100011011110111101000011110111101110011110000001111011110111101111011100111100110000010110101111011110110000000001100011101111011000011001111011100110001111011110011101111011110111100000011110...
output:
YES
result:
ok answer is YES
Test #30:
score: 0
Accepted
time: 61ms
memory: 21268kb
input:
1500 1500 11100111101111011110000101000011110011101111001000001101111011110111000100011110110100101000000011001110000110111101110011110111101111011110111001000011110110001111001010110000011011110110001111010010111101111011110111000000001110111101111001010111000111000000110000000011000111000001011110...
output:
YES
result:
ok answer is YES
Test #31:
score: 0
Accepted
time: 56ms
memory: 21300kb
input:
1500 1500 11110111101111011110111101111001110000000111011110111101110011100111101101011000111100000000000111101111011110000001110000010111101000011100111101101001100110001111011110100001111011110101101110011000000001110011110111101110001100111101111011110000100000011010111101111011010111101110000000...
output:
YES
result:
ok answer is YES
Test #32:
score: 0
Accepted
time: 49ms
memory: 20984kb
input:
1500 1500 11100000000000000011100000000000000000000001110000000000000000000000000000000000000000000000001110000000000000000000000000001110000000000000000000011100000000111100000011100000011100000000000000000000000000000000000000000011100000000000000000000000001111000000000000000000000000000000000000...
output:
NO
result:
ok answer is NO
Test #33:
score: 0
Accepted
time: 48ms
memory: 21080kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #34:
score: 0
Accepted
time: 48ms
memory: 21060kb
input:
1500 1500 00011100000001111000000000000011111100000000000000000000000000000000111000000011100000000001110000111111000000000000000001111000000000000000011110000000000000000000000000000000000000111111001110000000000000001111000000000000000111000000000000000000000000000000111000000000000111000000000000...
output:
YES
result:
ok answer is YES
Test #35:
score: 0
Accepted
time: 38ms
memory: 20996kb
input:
1500 1500 00000000000000000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000...
output:
NO
result:
ok answer is NO
Test #36:
score: 0
Accepted
time: 42ms
memory: 21076kb
input:
1500 1500 00000000011100111100000000000000000000000000000000000000000000000000000111000000000000001110001110000000000001111111101110000000000000000000001111000000011100000000000000000000000000000000000000000011100000111000000000000000001111000000000000000000000000000000000011111000000000000000000000...
output:
NO
result:
ok answer is NO
Test #37:
score: 0
Accepted
time: 50ms
memory: 20980kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000000000000...
output:
YES
result:
ok answer is YES
Test #38:
score: 0
Accepted
time: 49ms
memory: 21132kb
input:
1500 1500 00001110000000000000000011100000000000000000000000000000000111100000000000001111000111000000000000000000000000111000000000000000000000000000000000000000000000000000000000011100000000000000000000000000000111000000000000000000000011100000000011100000000000000001110000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #39:
score: 0
Accepted
time: 35ms
memory: 21132kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
NO
result:
ok answer is NO
Test #40:
score: 0
Accepted
time: 46ms
memory: 21056kb
input:
1500 1500 00000000000000011100000000000000000000000000000000000000011100000011100000000000000011100011100000000000000000000000000000000000000000000000000000111000000001111000000000000000000000000000001111000001110000000000000000001110000000000000000000000000000000000000001111011100011100000000000000...
output:
NO
result:
ok answer is NO
Test #41:
score: 0
Accepted
time: 42ms
memory: 21008kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #42:
score: 0
Accepted
time: 51ms
memory: 20980kb
input:
1500 1500 00011100000001111111000001111111000011110000000111000000000000011100000000111000000000000000001111000000000000000000000000000000011111000011110000000000000111100000000000001110000000011100001111000000001111000000000001111011110000000000000000000000000000011110000000000000000000000001110000...
output:
YES
result:
ok answer is YES
Test #43:
score: 0
Accepted
time: 45ms
memory: 21020kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
NO
result:
ok answer is NO
Test #44:
score: 0
Accepted
time: 45ms
memory: 21044kb
input:
1500 1500 00001110001110000011110000001111111000000000000111000001110000000000000000000000000000111000000000001110000000011111001111000000000000000000011110000000000111000000001111100000001111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000...
output:
NO
result:
ok answer is NO
Test #45:
score: 0
Accepted
time: 48ms
memory: 20988kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #46:
score: 0
Accepted
time: 48ms
memory: 21028kb
input:
1500 1500 00000000000000000000000000000000000001110000000000000000000000000000001110000000000000011100000000000000000111100000000000000000001111000000011100000000000000111100000000000000001110000000000000000000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #47:
score: 0
Accepted
time: 41ms
memory: 20980kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000011100000000000000001110000000000001110000000000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100...
output:
NO
result:
ok answer is NO
Test #48:
score: 0
Accepted
time: 36ms
memory: 21156kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #49:
score: 0
Accepted
time: 42ms
memory: 21076kb
input:
1500 1500 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...
output:
YES
result:
ok answer is YES
Test #50:
score: 0
Accepted
time: 28ms
memory: 12292kb
input:
750 1500 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #51:
score: 0
Accepted
time: 32ms
memory: 12640kb
input:
1500 750 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
NO
result:
ok answer is NO
Test #52:
score: 0
Accepted
time: 35ms
memory: 12628kb
input:
750 1500 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #53:
score: 0
Accepted
time: 38ms
memory: 12564kb
input:
1500 750 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #54:
score: 0
Accepted
time: 64ms
memory: 21420kb
input:
1500 1500 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
output:
YES
result:
ok answer is YES
Test #55:
score: 0
Accepted
time: 85ms
memory: 21352kb
input:
1500 1500 01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101...
output:
YES
result:
ok answer is YES
Test #56:
score: 0
Accepted
time: 72ms
memory: 21152kb
input:
1500 1500 11111111111110110001100000101100100110111111010111111011000111100111111111101111111110011111111111110101111111111111011111111111111111111100001100000001011001011001100001111100110000000000111111111111111111111111111111111111110111111111111111111111111000111111111111000110000011111111100011...
output:
YES
result:
ok answer is YES
Test #57:
score: 0
Accepted
time: 72ms
memory: 21008kb
input:
1500 1500 01101111111000011111111111111111111110011110011101111110000111111001111111111111111111111111111101111011101101111110001101111100001111111111111111111111000001100000110111111111110011001101111111111011100001011111100111101100001111111111111111100001111111111111011111000111111111111111101110...
output:
YES
result:
ok answer is YES