QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#201076#6535. Reversingucup-team1209#AC ✓271ms67916kbC++201.2kb2023-10-05 10:13:492023-10-05 10:13:49

Judging History

你现在查看的是最新测评结果

  • [2023-10-05 10:13:49]
  • 评测
  • 测评结果:AC
  • 用时:271ms
  • 内存:67916kb
  • [2023-10-05 10:13:49]
  • 提交

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"