QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#372486 | #8507. Clever Cell Choices | arnold518 | TL | 4522ms | 4060kb | C++17 | 2.0kb | 2024-03-31 14:06:08 | 2024-03-31 14:06:08 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int MAXN = 50;
const int dy[]={-1, 1, 0, 0};
const int dx[]={0, 0, -1, 1};
int N, M;
char S[MAXN+10][MAXN+10];
int f(int y, int x) { return y*M+x; }
vector<int> adj[MAXN*MAXN+10], A, B;
bool vis[MAXN*MAXN+10];
int match[MAXN*MAXN+10];
int ans, cnt;
bool dfs(int now)
{
if(match[now]==-2 || vis[now]) return false;
vis[now]=true;
for(auto nxt : adj[now])
{
if(match[nxt]==-2) continue;
if(match[nxt]==-1 || dfs(match[nxt]))
{
match[nxt]=now;
match[now]=nxt;
return true;
}
}
return false;
}
int main()
{
scanf("%d%d", &N, &M);
for(int i=0; i<N; i++) scanf("%s", S[i]);
for(int i=0; i<N; i++)
{
for(int j=0; j<M; j++)
{
if(S[i][j]=='#') continue;
if((i+j)%2) A.push_back(f(i, j));
else B.push_back(f(i, j));
for(int k=0; k<4; k++)
{
int ny=i+dy[k], nx=j+dx[k];
if(!(0<=ny && ny<N && 0<=nx && nx<M)) continue;
if(S[ny][nx]=='#') continue;
adj[f(i, j)].push_back(f(ny, nx));
}
}
}
memset(match, -1, sizeof(match));
for(auto it : A)
{
for(int i=0; i<N*M; i++) vis[i]=0;
if(dfs(it)) cnt++;
}
for(auto it : A)
{
memset(match, -1, sizeof(match));
match[it]=-2;
int cnt2=0;
for(auto pt : A)
{
for(int i=0; i<N*M; i++) vis[i]=0;
if(dfs(pt)) cnt2++;
}
if(cnt==cnt2) ans++;
}
for(auto it : B)
{
memset(match, -1, sizeof(match));
match[it]=-2;
int cnt2=0;
for(auto pt : A)
{
for(int i=0; i<N*M; i++) vis[i]=0;
if(dfs(pt)) cnt2++;
}
if(cnt==cnt2) ans++;
}
printf("%d\n", ans);
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3888kb
input:
3 3 #.# ... #.#
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
3 3 ..# ... ...
output:
0
result:
ok 1 number(s): "0"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
1 4 ...#
output:
2
result:
ok 1 number(s): "2"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3928kb
input:
1 5 ####.
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 0
Accepted
time: 1ms
memory: 3928kb
input:
1 6 #..###
output:
0
result:
ok 1 number(s): "0"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3964kb
input:
2 5 ....# ###.#
output:
3
result:
ok 1 number(s): "3"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
2 6 ...##. .#.###
output:
4
result:
ok 1 number(s): "4"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
5 5 ##... ##.#. ##.## ##.#. .##..
output:
7
result:
ok 1 number(s): "7"
Test #9:
score: 0
Accepted
time: 1ms
memory: 3964kb
input:
6 6 ...##. #..#.. ...... ..#... #...## .#....
output:
1
result:
ok 1 number(s): "1"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
10 10 ####.#...# .#.###.... #....#..#. .....#.#.. ##.#..#.#. ..#..##... .##.#####. #######.## .#.#.##..# .#.###.##.
output:
26
result:
ok 1 number(s): "26"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
10 10 ..#..#.### .#######.# .#.####.#. ......#### #..#..#.#. ...#.###.# #.#...#.#. .#...#.... ...#.#.#.# ...###....
output:
21
result:
ok 1 number(s): "21"
Test #12:
score: 0
Accepted
time: 1ms
memory: 3884kb
input:
15 15 #......#.#.###. #.##...####..#. ##.....##.##.#. #.###.#..#...## ....###.##.#.#. .#..#.###.##.#. ######.#.####.# .#....#..####.. .....#.###.##.. #..##.###.##### #.##.#####..### .#######..##.#. ##....#.##...#. ....#####.##.## ...#.#........#
output:
51
result:
ok 1 number(s): "51"
Test #13:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
15 15 ###.#......#... #.....#.#.###.# #..#.#.###..#.. .#####.##.#..#. ...#.##.#..#.#. #.#.###.....### ......#..##.... ..##..#.#.#...# ..#..#..#...... ....####...#..# .####..#.#.##.# ###.#..#.#.#... .#.##.##....##. .#.#####.#..#.# #.#.#.##.#.....
output:
61
result:
ok 1 number(s): "61"
Test #14:
score: 0
Accepted
time: 1ms
memory: 3876kb
input:
20 20 ####....##.#####.##. ...####.##..#.####.. #.#.....#....##..### ###..###.#.#..#..### ##.##..#.##.####.... #...###.##.###.##... .###...#####.##....# #...###...##........ ##.#.#.#.###.......# #...##.##.#..##.##.. ..##.##.######....## #.#....#.##.##.##..# ##.....#..#.######## ##....##.###...#.... ...
output:
95
result:
ok 1 number(s): "95"
Test #15:
score: 0
Accepted
time: 0ms
memory: 3940kb
input:
20 20 .##.#.#.#..##..##.#. ..#.##.##.....##..## .#....##...####..#.. ##..###..#.#..##.... ....#.##.##.###...## .#.#.##.#..###....#. ######.#..#....#.#.. .##.###..##..##.###. #.....#.#..#.##.#.#. ###.#####.##..#.##.# ...###.####.##...#.# .#.....#.#.#.#..###. #.#...#####..##.#### ..####.##..##.#.#.## ...
output:
109
result:
ok 1 number(s): "109"
Test #16:
score: 0
Accepted
time: 2ms
memory: 4020kb
input:
30 30 ###...###....#..#.#.#######... .##..#.###.#.####.#...#..#.#.. .##..#######..##...#....##...# ..###..#..###...#.##.....#..## #.#.#.#.#...###.######..#....# ###..##..###.#.###.#.####..#.. .....#...####..####..##.#.##.# ..#...######.##....#..###..### ..#####......#.#...##...#..##. ##..#.#.#.##......
output:
196
result:
ok 1 number(s): "196"
Test #17:
score: 0
Accepted
time: 2ms
memory: 3980kb
input:
30 30 ######....###.#..#..###.#.##.# .#..#...#.##..#.##...#...##### ##.#.##..##.#..###.#.#...####. .####.###..##..#..#.#####..#.# ....##.##...#...##.####..####. ..###.##.##...##.##.###.####.# #####......#.#...#..........#. ..#.....###..##.##..##.#.##### ..##...#.##.#.#.#..#.#.#.##... ...#.#.##..###....
output:
196
result:
ok 1 number(s): "196"
Test #18:
score: 0
Accepted
time: 5ms
memory: 4016kb
input:
40 40 ......##...#.##..###.##.#.....#.#.#..#.# #..###...####.####..###.#.#.#..#.##..##. ############.#.#...##..#...#........#.## ##.###.##########...###...####.##..##### .###.#.##.##....##...#.##.#..#..##.#..#. ##...####.##.###.#.#.##...##..####.##### #####..##.###.##.#.#.....####..##...##.. .#..###...
output:
290
result:
ok 1 number(s): "290"
Test #19:
score: 0
Accepted
time: 8ms
memory: 3912kb
input:
40 40 .####.####.....##.......#....########..# .#.#....#####..#.##.###..#..#.#...##.#.# .##.####..#.#...#.######..#.....##.#.##. .##..##...#...#.#.#..#.###.....#..##.##. ..###.#.#....#######...#.##.##...##...#. .##..#......##.##########.##.###..#..#.# ###.##.#.##...#.#####...###..##.#.#..### #.###.....
output:
307
result:
ok 1 number(s): "307"
Test #20:
score: 0
Accepted
time: 28ms
memory: 4016kb
input:
50 50 #..#..###.###.####..#..#.##.#.##...#.#...########. ..#.##.##..##..##.##.##.##...#.#.####.#.##...##..# ....##.#.#..#.#.#.###...##.###.#...#.##..#..#..### #.###.#.##.#......##...#..#..#..##..#####.##.#.... .##.####..##.#..#...##...#..#...##..##.##..#.##... .###.#..#..####....##...#......##..#.##...
output:
488
result:
ok 1 number(s): "488"
Test #21:
score: 0
Accepted
time: 26ms
memory: 3980kb
input:
50 50 ...##..#.#.##...#..##........##..###..##..#......# .......#.#..#####.##.##.##.###.#.##.#.#..##......# ...##.##.########.##...#...#...#####...###.####.#. #....###..###.###......##.#####..##.#...#.#...###. #.##.##...#.#....##..##.##..##.#..####..#####.##.. .##.##.#.##...#.##.#.#....##..#..#.##.#...
output:
494
result:
ok 1 number(s): "494"
Test #22:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
1 10 .#........
output:
1
result:
ok 1 number(s): "1"
Test #23:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
1 11 #..........
output:
0
result:
ok 1 number(s): "0"
Test #24:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
1 21 #.......#............
output:
4
result:
ok 1 number(s): "4"
Test #25:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
2 12 ..#......... ......#.....
output:
0
result:
ok 1 number(s): "0"
Test #26:
score: 0
Accepted
time: 1ms
memory: 3996kb
input:
2 22 ....#................. ..........#......#..#.
output:
0
result:
ok 1 number(s): "0"
Test #27:
score: 0
Accepted
time: 1ms
memory: 3852kb
input:
33 3 #.. ... ... ... .#. ... ... ... ... .#. ... ... ... ... ..# ... ... ... ... ... ... ..# ..# ... ... ... ... ... ... ... .#. ... .#.
output:
3
result:
ok 1 number(s): "3"
Test #28:
score: 0
Accepted
time: 0ms
memory: 3952kb
input:
42 1 . . . . . . # . . . . . . . . # . . . . . # . . . . # . . . . . . . . . . . . . . .
output:
11
result:
ok 1 number(s): "11"
Test #29:
score: 0
Accepted
time: 6ms
memory: 3948kb
input:
13 37 ##........#.......................... ....................#................ ..........#.............#............ ..............#.....#.....#.......... ....#....#.....................##.... ....#........#.........#............. ........#.......#.................... ....#............##............
output:
221
result:
ok 1 number(s): "221"
Test #30:
score: 0
Accepted
time: 27ms
memory: 3976kb
input:
31 13 .....#......# ........#.... ....#.#...... ....#........ ............. .#.........#. ......#...... ............# ..#.#......#. ............. .......#..... .....#....... ..#.......... .##.#........ .#..#........ ..........##. ............. ...........## ............# ............. .......#.#... ...
output:
184
result:
ok 1 number(s): "184"
Test #31:
score: 0
Accepted
time: 3768ms
memory: 4060kb
input:
44 44 ...................#...........#............ .#............#.#..#.#...................... ...#....#.........##....#...##.............. .......#.................................... .....##...#...##..........#................. ..##.#...........#.........##........#...... .....#.....................
output:
833
result:
ok 1 number(s): "833"
Test #32:
score: 0
Accepted
time: 4522ms
memory: 4040kb
input:
49 46 ......##.................#.................... ...#.................#.....#..#..........#.#.. #.....#...............#......##....#.....#.... ..........#............##...................## ...#......#.#..............###..#..........#.. ..................................#........... ...........#...
output:
956
result:
ok 1 number(s): "956"
Test #33:
score: -100
Time Limit Exceeded
input:
50 50 ..#..#................#.#.......#................. #...........................#..#.................. ...#..............#....#...............#.......... .........#..........#........................#.... ...#....#..........#..#.#................##..#.... ...#.........#.#.#..................#.....