# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
1039663 |
2024-07-31T07:07:51 Z |
Name(#11031) |
Toy (CEOI24_toy) |
C++17 |
|
8 ms |
9052 KB |
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.1,sse4.2,popcnt,abm,mmx,avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
using pii=array<int,2>;
#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif
const int N=1505;
int h,w,k,l,a[N][N],HL[N][N],HR[N][N],VL[N][N],VR[N][N];
int dx[]={0,0,1,-1},dy[]={1,-1,0,0};
pii S[2],E;
bool vis[N][N];
string s;
bool chk(int x,int y,int i,int j){
// (x, y) -> (i, j)
if(x==i){
return max({VL[x][y],VL[i][j],x-l+1})<=min({VR[x][y]-l+1,VR[i][j]-l+1,x});
} else{
return max({HL[x][y],HL[i][j],y-k+1})<=min({HR[x][y]-k+1,HR[i][j]-k+1,y});
}
}
int main(){
ios::sync_with_stdio(false); cin.tie(0);
cin>>w>>h>>k>>l;
cin>>S[0][1]>>S[0][0]>>S[1][1]>>S[1][0];
S[0][0]++;
S[0][1]++;
S[1][0]++;
S[1][1]++;
for(int i=1;i<=h;i++){
cin>>s;
for(int j=1;j<=w;j++){
if(s[j-1]=='X') a[i][j]=1;
else{
a[i][j]=0;
if(s[j-1]=='*') E={i,j};
}
}
}
for(int i=1;i<=h;i++) for(int j=1;j<=w;j++){
int k=j;
while(k+1<=w&&!a[i][k+1]) k++;
for(int t=j;t<=k;t++){
HL[i][t]=j;
HR[i][t]=k;
}
j=k;
}
for(int i=1;i<=w;i++) for(int j=1;j<=h;j++){
int k=j;
while(k+1<=w&&!a[k+1][i]) k++;
for(int t=j;t<=k;t++){
VL[t][i]=j;
VR[t][i]=k;
}
j=k;
}
queue<pii> que;
vis[S[0][0]][S[1][1]]=1;
que.push({S[0][0],S[1][1]});
while(que.size()){
pii p=que.front(); que.pop();
for(int k=0;k<4;k++){
int x=p[0]+dx[k],y=p[1]+dy[k];
if(x<1||x>h||y<1||y>w||!chk(p[0],p[1],x,y)||vis[x][y]) continue;
vis[x][y]=1;
que.push({x,y});
}
}
if(vis[E[0]][E[1]]) cout<<"YES\n";
else cout<<"NO\n";
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
860 KB |
Output is correct |
4 |
Correct |
1 ms |
1372 KB |
Output is correct |
5 |
Correct |
1 ms |
1368 KB |
Output is correct |
6 |
Incorrect |
1 ms |
1372 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
860 KB |
Output is correct |
4 |
Correct |
1 ms |
1372 KB |
Output is correct |
5 |
Correct |
1 ms |
1368 KB |
Output is correct |
6 |
Incorrect |
1 ms |
1372 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
1628 KB |
Output is correct |
4 |
Correct |
7 ms |
8796 KB |
Output is correct |
5 |
Correct |
7 ms |
8788 KB |
Output is correct |
6 |
Correct |
2 ms |
2908 KB |
Output is correct |
7 |
Correct |
6 ms |
8796 KB |
Output is correct |
8 |
Correct |
6 ms |
8796 KB |
Output is correct |
9 |
Correct |
2 ms |
4940 KB |
Output is correct |
10 |
Correct |
4 ms |
8284 KB |
Output is correct |
11 |
Correct |
3 ms |
8292 KB |
Output is correct |
12 |
Correct |
3 ms |
5980 KB |
Output is correct |
13 |
Correct |
5 ms |
8292 KB |
Output is correct |
14 |
Correct |
4 ms |
8284 KB |
Output is correct |
15 |
Correct |
7 ms |
8540 KB |
Output is correct |
16 |
Correct |
7 ms |
8028 KB |
Output is correct |
17 |
Correct |
6 ms |
8552 KB |
Output is correct |
18 |
Correct |
8 ms |
9052 KB |
Output is correct |
19 |
Correct |
6 ms |
8796 KB |
Output is correct |
20 |
Correct |
5 ms |
8792 KB |
Output is correct |
21 |
Correct |
6 ms |
8792 KB |
Output is correct |
22 |
Correct |
6 ms |
8796 KB |
Output is correct |
23 |
Correct |
5 ms |
8796 KB |
Output is correct |
24 |
Correct |
8 ms |
8636 KB |
Output is correct |
25 |
Correct |
6 ms |
9048 KB |
Output is correct |
26 |
Correct |
6 ms |
8784 KB |
Output is correct |
27 |
Correct |
6 ms |
8796 KB |
Output is correct |
28 |
Correct |
6 ms |
8792 KB |
Output is correct |
29 |
Correct |
6 ms |
8796 KB |
Output is correct |
30 |
Correct |
6 ms |
8412 KB |
Output is correct |
31 |
Incorrect |
5 ms |
8284 KB |
Output isn't correct |
32 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
860 KB |
Output is correct |
4 |
Correct |
1 ms |
1372 KB |
Output is correct |
5 |
Correct |
1 ms |
1368 KB |
Output is correct |
6 |
Incorrect |
1 ms |
1372 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
860 KB |
Output is correct |
4 |
Correct |
1 ms |
1372 KB |
Output is correct |
5 |
Correct |
1 ms |
1368 KB |
Output is correct |
6 |
Incorrect |
1 ms |
1372 KB |
Output isn't correct |
7 |
Halted |
0 ms |
0 KB |
- |