QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#201076 | #6535. Reversing | ucup-team1209# | AC ✓ | 271ms | 67916kb | C++20 | 1.2kb | 2023-10-05 10:13:49 | 2023-10-05 10:13:49 |
Judging History
answer
#include<bits/stdc++.h>
const int N = 2005;
const int mod = 1e9 + 7;
using pr = std::pair<int, int>;
using std::cin;
using std::cout;
int n, m;
int a[N][N];
int vis[N][N];
std::vector<pr> o;
void bfs(int x, int y, int c) {
auto push = [&](int x, int y) {
if(x < 1 || x > n) return ;
if(y < 1 || y > m) return ;
if(!vis[x][y] && a[x][y] == c) {
vis[x][y] = 1;
o.emplace_back(x, y);
}
};
push(x, y);
for(int i = 0;i < (int) o.size();++i) {
auto [a, b] = o[i];
push(a - 1, b);
push(a + 1, b);
push(a, b - 1);
push(a, b + 1);
}
}
int main() {
cin >> n >> m;
for(int i = 1;i <= n;++i) {
for(int j = 1;j <= m;++j) {
char c; cin >> c;
a[i][j] = c == 'B';
}
}
int ans = 1;
for(int i = 1;i <= n;++i) {
for(int j = 1;j <= m;++j) if(!vis[i][j]) {
bfs(i, j, a[i][j]);
int cnt = o.size();
auto test = [&](int x, int y) -> bool {
if(x < 1 || x > n) return 0;
if(y < 1 || y > m) return 0;
return a[x][y] != a[i][j];
};
for(auto [x, y] : o) {
cnt -= test(x - 1, y) || test(x + 1, y) || test(x, y - 1) || test(x, y + 1);
}
o.clear();
for(int j = 0;j < cnt;++j) ans = ans * 2u % mod;
}
}
cout << ans << '\n';
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 5636kb
input:
2 2 WW WB
output:
2
result:
ok 1 number(s): "2"
Test #2:
score: 0
Accepted
time: 1ms
memory: 7744kb
input:
1 1 W
output:
2
result:
ok 1 number(s): "2"
Test #3:
score: 0
Accepted
time: 1ms
memory: 5748kb
input:
1 10 WBBWBBBBWW
output:
8
result:
ok 1 number(s): "8"
Test #4:
score: 0
Accepted
time: 1ms
memory: 5760kb
input:
1 2000 WWBBWWWBBBBBWWWBBBWWBWBWBBBBBBBBWWWBBWWBWWBWWWBWWBBBWBBWWBBWWWBBBWWBBWBBBBBBBBWBBWWWBWWWWWWWBBBBWBBWBBWBBWWWBWWWWWWBWBBBWBBBBBWWBWBWBBWBWWWWBBWBWWBWBBBWBBBBWBBBBBWBWWBBBWWBBWWBBBWBWWBBBBBWWBBWBWWWWWBBBBBWWBBWWWWWBBWBBWBBBBBWBBBBBWBWWWWWWWWWBBWBWWWBWWBWBWBBWWWBWWBBWWWWBWBWWWBBWWBWBBBBBWWWBBBBB...
output:
245796136
result:
ok 1 number(s): "245796136"
Test #5:
score: 0
Accepted
time: 1ms
memory: 5716kb
input:
3 3 BBB BBB BBB
output:
512
result:
ok 1 number(s): "512"
Test #6:
score: 0
Accepted
time: 1ms
memory: 5712kb
input:
3 3 WBB BBW BWW
output:
2
result:
ok 1 number(s): "2"
Test #7:
score: 0
Accepted
time: 1ms
memory: 7764kb
input:
10 10 BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB
output:
976371285
result:
ok 1 number(s): "976371285"
Test #8:
score: 0
Accepted
time: 2ms
memory: 5756kb
input:
10 2000 BWWWWWBWBWWBBBBBWWWBBWWWWWWBBWBWWBBBWBBBBWWBBBWBBWBBBWBWBBBWBWWWBBWWWBWWBWWWBWBBWBWBBWWWBWWWBWWWWBBWWBBWWWBBBWBBBBBWBBBBWBBBWBBBWBWWBWBBWWBWBBWBWBBWWWBWBBBWBWWWBBBWWBBWWWWWWBBWWWBWWWWWWWBBWBBBWWWBWBBBBWWBBWBBWBWBBBWBWWBWBWWBWWBWBWWBWBWWBWBBWBWWBBWBWBBBWWBWWWBWBWWWWBBWBWBWWBWWBWBBWBBBBBWWWWWB...
output:
38989673
result:
ok 1 number(s): "38989673"
Test #9:
score: 0
Accepted
time: 0ms
memory: 26620kb
input:
2000 1 W B W W B B W W W W B W B W W B W W B W W W B B B W W W W W B B B B B B B B B B W B W W W B W W W B W W B B B B B B B B B B B W B B W W B W W W B W W B B W B W B W W B W B B W W W B W B B W W W W W B B B W B B W W B B W B B W W B B B B W B W W W B W W W W B B W W B B W B B W B B W B B B B B W...
output:
776670474
result:
ok 1 number(s): "776670474"
Test #10:
score: 0
Accepted
time: 262ms
memory: 35108kb
input:
2000 2000 WBBBWWWWWBWWBWWBBWBWBBBBBWWWBBWBBBWBBWBWWBWBWBBBWBWWWWWBBWBWWBBWBBWWWWBBBWWBWBWWWWWWWBBWWWWBWWWBBBBWBBBBWWWWWBWBBBWBWBBWBWWWBBBWBWWWWWBWWBWWBWBWWBBWWWBBWBBBBWBWBBBBBWBBBWBBWWWBWBBWBBWBWWWBWWWWWBBBBWWWBBBWWWWWBWBWWBBBWWBBWWWBBWBBBBBBWWBBWBBBBBBWWWWBBBBWBBBBBBBWWBBWBWBWBBWBBWBWWWBBBWBWBWWWWB...
output:
389599236
result:
ok 1 number(s): "389599236"
Test #11:
score: 0
Accepted
time: 198ms
memory: 67240kb
input:
2000 2000 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
171847366
result:
ok 1 number(s): "171847366"
Test #12:
score: 0
Accepted
time: 197ms
memory: 66140kb
input:
2000 2000 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...
output:
428031302
result:
ok 1 number(s): "428031302"
Test #13:
score: 0
Accepted
time: 180ms
memory: 67152kb
input:
2000 2000 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...
output:
722667260
result:
ok 1 number(s): "722667260"
Test #14:
score: 0
Accepted
time: 195ms
memory: 67916kb
input:
2000 2000 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWBWWWWWWWWWWWWWBWWWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWBWWWWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWBWWBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWB...
output:
91619526
result:
ok 1 number(s): "91619526"
Test #15:
score: 0
Accepted
time: 271ms
memory: 35080kb
input:
2000 2000 BWBBBBBWBWBWWWBBWWBWBBWWWWWWWWWBBBWBWBWWBWWBBWBBBWWWWWBBBBWWBBWWBWBWWBBWBWWBWWBBBBBWWWBWBWWWWWBBWWWBWWBBBBBWBBWWWWWBBBWWWWBWBWBWBBWWBWWBWBWBBBBBWBBWBBBBWWBBWBBBBBWBBWWWWBBBBBBBWWWBWWBWWWWWWWWBBBWBBBBWWBWWWBBBWWWBWBBBBWBWWBWBWBWWWWWWWWBBBBBBWWWBBWWBWWWBWWWWWWBWBWBBWWBBBBWWWBBWWBWWBWWWBWWBWW...
output:
358960042
result:
ok 1 number(s): "358960042"