QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#335621 | #4079. 칠하기 | tuanlinh123 | 100 ✓ | 159ms | 103604kb | C++20 | 2.9kb | 2024-02-23 17:14:37 | 2024-02-23 17:14:38 |
Judging History
answer
#include<bits/stdc++.h>
#define ll int
#define pll pair<ll, ll>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ld long double
using namespace std;
ll yellowblue(ll n, ll m, vector <string> V)
{
ll crr=0;
vector <pair<pll, pll>> ver, hor;
vector <vector <ll>> v(n, vector <ll> (m)), h(n, vector <ll> (m));
for (ll i=0; i<n; i++)
{
auto connect=[&](ll l, ll r)
{
hor.pb({{crr, i}, {l, r}});
for (ll j=l; j<=r; j++)
h[i][j]=crr; crr++;
};
for (ll j=0, lst=-1; j<m; j++)
{
if (V[i][j]=='#')
{
if (lst==-1) continue;
connect(lst, j-1), lst=-1;
}
else if (lst==-1) lst=j;
if (j==m-1 && lst!=-1) connect(lst, j);
}
}
for (ll i=0; i<m; i++)
{
auto connect=[&](ll l, ll r)
{
ver.pb({{crr, i}, {l, r}});
for (ll j=l; j<=r; j++)
v[j][i]=crr; crr++;
};
for (ll j=0, lst=-1; j<n; j++)
{
if (V[j][i]=='#')
{
if (lst==-1) continue;
connect(lst, j-1), lst=-1;
}
else if (lst==-1) lst=j;
if (j==n-1 && lst!=-1) connect(lst, j);
}
}
vector <vector <ll>> A(crr);
for (pair<pll, pll> s:hor)
{
ll c=s.fi.fi, i=s.fi.se, l=s.se.fi, r=s.se.se;
A[c].pb(v[i][l]), A[c].pb(v[i][r]);
}
for (pair<pll, pll> s:ver)
{
ll c=s.fi.fi, i=s.fi.se, l=s.se.fi, r=s.se.se;
A[c].pb(h[l][i]), A[c].pb(h[r][i]);
}
vector <ll> cmp(crr), lo(crr, 0), num(crr, 0);
ll Time=0, cnt=0;
stack <ll> st;
function<void(ll)> dfs=[&](ll u)
{
st.push(u);
lo[u]=num[u]=++Time;
for (ll v:A[u])
{
if (!num[v]) dfs(v), lo[u]=min(lo[u], lo[v]);
else lo[u]=min(lo[u], num[v]);
}
if (lo[u]==num[u])
{
while (st.top()!=u)
cmp[st.top()]=cnt, num[st.top()]=1e9, st.pop();
cmp[st.top()]=cnt, num[st.top()]=1e9, st.pop(), cnt++;
}
};
for (ll i=0; i<crr; i++)
if (!num[i]) dfs(i);
vector <ll> deg(cnt, 0);
vector <vector <ll>> B(cnt);
map <pll, bool> Map;
for (ll i=0; i<crr; i++)
for (ll j:A[i])
if (cmp[i]!=cmp[j])
Map[{cmp[i], cmp[j]}]=1, B[cmp[j]].pb(cmp[i]), deg[cmp[i]]++;
vector <ll> q;
for (ll i=0; i<cnt; i++)
if (!deg[i]) q.pb(i);
for (ll i=0; i<q.size(); i++)
{
if (i && !Map[{q[i], q[i-1]}]) return 0;
for (ll v:B[q[i]])
{
deg[v]--;
if (!deg[v]) q.pb(v);
}
}
return 1;
}
详细
Subtask #1:
score: 30
Accepted
Test #1:
score: 30
Accepted
time: 1ms
memory: 3564kb
input:
3 5 ...## ....# #.#..
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
4 4 ..#. #... ...# .#..
output:
1
result:
ok single line: '1'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
15 15 #######..###### ######....##### #####......#### ####........### ###..........## ##............# #.............. ............... #.............# ##...........## ###.........### ####.......#### #####.....##### ######...###### #######.#######
output:
1
result:
ok single line: '1'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
16 16 ########..###### #######....##### ######......#### #####........### ####..........## ###............# ##.............. ................ ##.............# ###...........## ####.........### #####.......#### ######.....##### #######...###### ########.####### ########.#######
output:
0
result:
ok single line: '0'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3644kb
input:
15 16 ########..###### #######....##### ######......#### #####........### ####..........## ###............# ##.............. ................ ##.............# ###...........## ####.........### #####.......#### ######.....##### #######...###### ########.#######
output:
1
result:
ok single line: '1'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
10 10 ..#...#... ...#...#.. .#...#...# #...#...#. ..#...#... ...#...#.. .#...#...# #...#...#. ..#...#... ...#...#..
output:
1
result:
ok single line: '1'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
10 10 ..#...#... ...#...#.. .#..#....# #.......#. .......#.. ..#....... .#.......# #....#..#. ..#...#... ...#...#..
output:
1
result:
ok single line: '1'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3872kb
input:
20 20 ..#...#...#...#...#. #..#...#...#...#.... ....#...#...#...#..# ..#..#...#...#....#. .#....#...#...#..#.. #...#..#...#....#... ...#....#...#..#...# ..#...#..#....#...#. .#...#....#..#...#.. #...#...#...#...#... ...#...#...#...#...# ..#...#..#....#...#. .#...#....#..#...#.. #...#..#...#....#... ...
output:
0
result:
ok single line: '0'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
10 16 ..#..#..#..#..#. #..#..#..#..#... .#..#..#..#....# ..#..#..#....#.. #..#..#....#..#. .#..#....#..#..# ..#....#..#..#.. #....#..#..#..#. ...#..#..#..#..# .#..#..#..#..#..
output:
1
result:
ok single line: '1'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3844kb
input:
50 45 ..#...##..##...#...#.#.#.....#..#..##..##.#.. ...#.#.#.#..##...###.#..##.##.#.....#......#. #......#.##.##....#.....#......#.#.#.#...#... .#.#####....##.#.#..###..#.##.###..#...#....# .....#.#.##.#..#..#...#.##...##..#...#....##. .#..#.....##..###...##....##..#...#.##.###... ..#.#.#.#..#.##.#....
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3820kb
input:
50 45 .....#...#.#..#........#.........#..........# ...##.......#...##...#..#...###.....##...#..# .#...#...#....#....#...#.......#...#..##...#. ......#.......#.#.#.......#..#.#.#....#...... #..#..#.....#.#.......#.#..#..#...#.#....#... .#.#....#.#...#.#...#...#.#....#........#.#.. .....##..#...##.#....
output:
0
result:
ok single line: '0'
Test #12:
score: 0
Accepted
time: 1ms
memory: 3948kb
input:
50 50 .#.......###....#.#..#....#....#...#..##....#.#.#. ............#.................#......##........... ......................................#........... .......................................##......... ...........#...#.................................# #......#.....#..#.........#...............
output:
0
result:
ok single line: '0'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3648kb
input:
50 50 ###...###..#.##..###...#..#...###....#..#.#.##.### #....#.#......#........##......#............##.... .....#..................#........................# ...#.............................................. #................................................# #.........................................
output:
0
result:
ok single line: '0'
Test #14:
score: 0
Accepted
time: 1ms
memory: 3720kb
input:
50 50 ###.####...#.#...###...##.#...###....#..#.#.##.### #...##.#......#........##.....##............##...# ....##..................#...................#..... ...#................#............................. #................................................# #.........................................
output:
0
result:
ok single line: '0'
Test #15:
score: 0
Accepted
time: 1ms
memory: 3744kb
input:
50 50 ###..###...#.##..###...####...###....#..#.#.##.### #....#.#......#........##......#............##.... ....##..................#...................#....# ...#................#............................. #................................................# #.........................................
output:
0
result:
ok single line: '0'
Test #16:
score: 0
Accepted
time: 1ms
memory: 3720kb
input:
50 50 #.#.#.....###..#...#..###.#.....#..###.##.#.#...#. #........###......#....#.......##......##....#.... ........##......#.....#........#.......#.......... .........#...........#................##.......... #..............#.................................# .....#..................#.................
output:
0
result:
ok single line: '0'
Test #17:
score: 0
Accepted
time: 1ms
memory: 3652kb
input:
50 50 #.#.#....####..#...#.####.#.#...#.##.#.##.#.#...#. #........###......#...##.......##......##....#.... ........##......#.....#........#.......#.......... .........#...........#................##.......... #..............#.................................# .....#..................#.................
output:
0
result:
ok single line: '0'
Test #18:
score: 0
Accepted
time: 1ms
memory: 3960kb
input:
50 50 #.#.#....####..#..##.####.#.#...#.##.#.##.#.#...#. #........###......#..###.......##.......#....#.... ........##......#.....#........#.......#.......... .........#...........#................##.......... #..............#.................................# .....#..................#.................
output:
0
result:
ok single line: '0'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3660kb
input:
50 50 .#.###..#...#..#...##.#..##..#....#..#..##..#..#.. .....#......#.....#.#...................#........# #.........#.......#......................#........ ##..............#................................. .....#......................#....................# #.....#...................................
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 1ms
memory: 3688kb
input:
50 50 ##...#..#..###.#...##.#...#..#....#..#...#.##..#.. .....#....#.#.....#.#...................#........# #.........#.......#......................#........ #...............#................................. #................................................# ##........................................
output:
0
result:
ok single line: '0'
Test #21:
score: 0
Accepted
time: 0ms
memory: 4016kb
input:
50 50 .#.....#.#.#.#..##.#..#.###....##.###.##.###..#.## ..##..#........##....#..#..#...#......#..#.......# #..##.........#..........#..#..###...###..#.....## #.......#...##.#..###..#...#.#..###...#...##.#.... .......#.##....#.##...#...##...#.....#.....##..... #.........##..#.##.#.....#.#....#.........
output:
0
result:
ok single line: '0'
Test #22:
score: 0
Accepted
time: 1ms
memory: 3724kb
input:
50 50 ##.....##...###.##.....##..#..####.#.#..##..#..##. ...#...####..#..###...#.#..#..##...#..#..##...##.. ##..#..#....##..##..#....#...###.....#..###....... .#....#.#....##....##.......#.#.....#....#......## .....#.......#....#........#.....#...#...#.......# .........#..#.#.#..#....#.#..#........#...
output:
0
result:
ok single line: '0'
Test #23:
score: 0
Accepted
time: 1ms
memory: 3944kb
input:
50 50 ##......#...###.##.....##.##...####..##.#...#..##. ...#...##.#..##..##...##........#..#..#..##...##.. ##..##.#.#..###...###....#...###.........##......# ##....#..#....#....#.#..#...#..#..#.....##......#. .....#.#......#...##...#...#..#..#..##...#........ ............#..##..#..#.###..#....#...#...
output:
0
result:
ok single line: '0'
Test #24:
score: 0
Accepted
time: 1ms
memory: 3780kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#...#...#...#.. .#...#...#...#...#...#...#...#...#...#...#...#...# #...#...#...#...#...#...#...#...#...#...#...#...#. ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#......
output:
0
result:
ok single line: '0'
Test #25:
score: 0
Accepted
time: 1ms
memory: 3908kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#...#...#...#.. .#...#...#...#...#...#...#...#...#...#...#...#...# #...#...#...#...#...#...#...#...#...#...#...#...#. ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#......
output:
1
result:
ok single line: '1'
Test #26:
score: 0
Accepted
time: 1ms
memory: 4100kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#.....#.#...#...#.. .#...#...#...#...#...#...#...#...#...#...#...#...# #.#.....#...#.#.....#...#...#...##..#...#...#...#. ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#......
output:
1
result:
ok single line: '1'
Test #27:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... .......#...#...#...#...#...#...#...#...#...#...#.. .#...#...#...#...#...#...#...#...#...#...#...#...# #...#...#...#...#...#...#...#...#...#...#...#...#. ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#......
output:
1
result:
ok single line: '1'
Test #28:
score: 0
Accepted
time: 1ms
memory: 3888kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#...#...#...#.. .#...#...#...#...#...#...#...#...#...#...#...#...# #...#...#...#...#...#...#...#...#...#...#...#...#. ..#...#...#...#...#...#...#...#...#...#...#...#... ...#...#...#...#...#...#...#...#...#......
output:
1
result:
ok single line: '1'
Test #29:
score: 0
Accepted
time: 1ms
memory: 3816kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...........#...........#...#...#...#...#...#...#.. .....#...............#...##..#...#...#...#...#...# #...#...............#...#...#...#...#...#.......#. .#..........#.........#.......#...#...#...#.#..... ...........#...#...#...#...#...#...#......
output:
1
result:
ok single line: '1'
Test #30:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#.....#....#......#.....#...#.....#...#...#.... .#..##.......#...........##..#.....#.#......##.... #.#..##...##.#......#..#.#..#...#...#......#.....# ..#....##...#..#......#.#.....#.#.#..#..#...#...#. ......#....#..#....#..#....#...#.#.#..#...
output:
1
result:
ok single line: '1'
Test #31:
score: 0
Accepted
time: 0ms
memory: 3908kb
input:
50 50 #########################.######################## ########################...####################### #######################.....###################### ######################.......##################### #####################.........#################### ####################...........########...
output:
0
result:
ok single line: '0'
Test #32:
score: 0
Accepted
time: 0ms
memory: 3680kb
input:
50 50 #########################.######################## ########################...####################### #######################.....###################### ######################.......##################### #####################.........#################### ####################...........########...
output:
1
result:
ok single line: '1'
Test #33:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
50 50 ...........##############.############............ ...........#############...###########............ ...........############.....##########............ ...........###########.......#########............ ...........##########.........########............ ...........#########...........#######....
output:
0
result:
ok single line: '0'
Test #34:
score: 0
Accepted
time: 0ms
memory: 3924kb
input:
50 50 #########################.######################## #######..###############...####################### ######....#############.....###################### #####......###########.......##################### ####........#########.........#################### ###.........########...........########...
output:
0
result:
ok single line: '0'
Test #35:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... .......#..##.....#.......#....##...#......#......# .#...#...#...#.....#....#....#...#.....#.....#.... #.......#...#......#...#..#..##.......#.....#..... ......##.###........#.#....##.##..#........##....# ....##...#........#.##...##....##....#....
output:
0
result:
ok single line: '0'
Test #36:
score: 0
Accepted
time: 1ms
memory: 3788kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#..##...#.....#...#.#..#...#..............#...# .#...#...###.#.....##....#...#...#...........#.... #.#.....#...#.......##.....#.#.#.........#.....#.. .......#...#.........#....#.#.#.............#...#. ....##...#........#.....#.#....##....#....
output:
1
result:
ok single line: '1'
Test #37:
score: 0
Accepted
time: 1ms
memory: 3716kb
input:
50 50 ..#...#...#...#...#...#...#...#...#...#...#...#... ...#..##...#.....#...#.#..#...#..............#...# .#...#.#....##.....##....#...#...#...........#.... #.#.....#...#........#.....#.#.#.........#........ .......#...#........##....#.#.#.............#..... ....##...#........##....#.#....##....#....
output:
1
result:
ok single line: '1'
Test #38:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
10 10 ..#...#... .......#.. .........# #.......#. ...#...... .......... .......#.. #......... ..#...#... ...##..#.#
output:
1
result:
ok single line: '1'
Test #39:
score: 0
Accepted
time: 1ms
memory: 3652kb
input:
47 43 #########...#...#####...#...#####...#...### ##########.....#######.....#######.....#### #########.......#####.......#####.......### #########.......#####.......#####.......### ##########...#..######...#..######...#..### ###..#..#..#..#..#..#..#..#..#..#..#..#...# ####...#..######...#..######.....
output:
1
result:
ok single line: '1'
Subtask #2:
score: 70
Accepted
Dependency #1:
100%
Accepted
Test #40:
score: 70
Accepted
time: 75ms
memory: 55892kb
input:
983 991 #########...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#...#####...#......
output:
1
result:
ok single line: '1'
Test #41:
score: 0
Accepted
time: 15ms
memory: 14840kb
input:
1000 1000 ##################################################################################################################################################################################################################################################################################################...
output:
1
result:
ok single line: '1'
Test #42:
score: 0
Accepted
time: 16ms
memory: 14748kb
input:
1000 1000 ##################################################################################################################################################################################################################################################################################################...
output:
0
result:
ok single line: '0'
Test #43:
score: 0
Accepted
time: 97ms
memory: 103604kb
input:
998 998 ...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...
output:
1
result:
ok single line: '1'
Test #44:
score: 0
Accepted
time: 93ms
memory: 103304kb
input:
998 998 #..#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...
output:
0
result:
ok single line: '0'
Test #45:
score: 0
Accepted
time: 99ms
memory: 103452kb
input:
998 998 ...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...
output:
1
result:
ok single line: '1'
Test #46:
score: 0
Accepted
time: 85ms
memory: 103528kb
input:
998 998 ...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...#...
output:
1
result:
ok single line: '1'
Test #47:
score: 0
Accepted
time: 16ms
memory: 15380kb
input:
1000 1000 .....................................................................................................................................................................................................................................................................................................
output:
0
result:
ok single line: '0'
Test #48:
score: 0
Accepted
time: 21ms
memory: 18008kb
input:
1000 1000 .............................................................................................................................................................................#............................................................#..................#.......................................
output:
0
result:
ok single line: '0'
Test #49:
score: 0
Accepted
time: 77ms
memory: 41340kb
input:
1000 1000 .....#....#............................#...................#.###.........#.......#.#..#.......#................#.#............................#...#..............#.#........#.....#..........#.##.....#....#.......#.#...................##.........##...#.##.................#......#........#......
output:
0
result:
ok single line: '0'
Test #50:
score: 0
Accepted
time: 159ms
memory: 74548kb
input:
1000 1000 #.########......#.#....#...#..#...#.#............#..#..#.##.#.##.##...#..#...#..###....##.##.####....#....#.#.###....##.###.###...#.....#..##..##..#.#..#.###.###.#.#.....#.##........#...#.#...#.#.######.#...#.#.#..##.##.##........#.##..##...##.#####...#.####.#..#.#.##.....#....##....#.##.#...
output:
0
result:
ok single line: '0'