Submission #00068


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
vector<int> x,y;
queue<P>que;
int dx[]={0,1,-1,0};
int dy[]={1,0,0,-1};
int main(){
ios_base::sync_with_stdio(false);
int h,w,n,q;
cin >> h >> w >> n >> q;
int xs[2][n],ys[2][n];
for(int i=0;i<n;i++){
cin >> xs[0][i] >>ys[0][i] >> xs[1][i] >> ys[1][i];
x.push_back(xs[0][i]);
y.push_back(ys[0][i]);
for(int j=0;j<4;j++){
int nx = xs[0][i]+dx[j];
int ny = ys[0][i]+dy[j];
if(nx >= 0 && nx < w && ny >= 0 && ny < h){
x.push_back(nx);
y.push_back(ny);
}
}
x.push_back(xs[1][i]);
y.push_back(ys[1][i]);
for(int j=0;j<4;j++){
int nx = xs[1][i]+dx[j];
int ny = ys[1][i]+dy[j];
if(nx >= 0 && nx < w && ny >= 0 && ny < h){
x.push_back(nx);
y.push_back(ny);
}
}
}
sort(x.begin(),x.end());
x.erase( unique(x.begin(),x.end()), x.end() );
sort(y.begin(),y.end());
y.erase( unique(y.begin(),y.end()), y.end() );
long long maze[y.size()+100][x.size()+100];
for(int i=0;i<y.size();i++){
for(int j=0;j<x.size();j++){
maze[i][j] = 0;
}
}
for(int i=0;i<n;i++){
if(xs[0][i] == xs[1][i]){
int first = find(y.begin(),y.end(), ys[0][i])-y.begin();
int end = find(y.begin(),y.end(), ys[1][i])-y.begin();
int rock = find(x.begin(),x.end(), xs[0][i])-x.begin();
for(int j=first;j<=end;j++){
maze[j][rock] = -1;
}
} else{
int first = find(x.begin(),x.end(), xs[0][i])-x.begin();
int end = find(x.begin(),x.end(), xs[1][i])-x.begin();
int rock = find(y.begin(),y.end(), ys[0][i])-y.begin();
for(int j=first;j<=end;j++){
maze[rock][j] = -1;
}
}
}
//幅
long long color = 0;
for(int i=0;i<y.size();i++){
for(int j=0;j<x.size();j++){
if(maze[i][j] == 0){
color++;
que.push(P(i,j)); //y x
maze[i][j] = color;
while(!que.empty()){
P now = que.front(); que.pop();
int xx = now.second;
int yy = now.first;
for(int k=0;k<4;k++){
int nx = xx+dx[k];
int ny = yy+dy[k];
if(nx >= 0 && nx < x.size() && ny >= 0 && ny < y.size() && maze[ny][nx] == 0){
maze[ny][nx] = color;
que.push(P(ny,nx));
}
}
}
}
}
}
for(int cas=0;cas<q;cas++){
int a,b,c,d,sx,sy,gx,gy;
sx = sy = gx = gy = -1;
cin >> a >> b >> c >> d;
for(int j=0;j<x.size();j++){
if(sx == -1 && x[j] >= a){
sx = j;
}
if(gx == -1 && x[j] >= c){
gx = j;
}
if(sx != -1 && gx != -1) break;
}
if(sx == -1) sx = x.size()-1;
if(gx == -1) gx = x.size()-1;
for(int j=0;j<y.size();j++){
if(sy == -1 && y[j] >= b){
sy = j;
}
if(gy == -1 && y[j] >= d){
gy = j;
}
if(sy != -1 && gy != -1) break;
}
if(sy == -1) y.size()-1;
if(gy == -1) y.size()-1;
if(maze[sy][sx] != -1 && maze[gy][gx] != -1 && maze[gy][gx] == maze[sy][sx]) cout << "Success" << endl;
else cout << "Broadcasting accident" << endl;
}
return 0;
}

ステータス

項目 データ
問題 0005 - 回れ雛月花 -Lunatic
ユーザー名 ei1612
投稿日時 2017-12-22 14:09:29
言語 C++11
状態 Wrong Answer
得点 0
ソースコード長 3165 Byte
最大実行時間 162 ms
最大メモリ使用量 11992 KB

セット

セット 得点 Cases
1 Burn 0 / 35 Input0* , Input10
2 Out 0 / 140 Input[0-2]* , Input30
3 Misfortune 0 / 175 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
Input01 AC 16 ms 480 KB
1
2
3
Input02 AC 18 ms 424 KB
1
2
3
Input03 AC 21 ms 448 KB
1
2
3
Input04 AC 14 ms 632 KB
1
2
3
Input05 WA 22 ms 584 KB
1
2
3
Input06 AC 17 ms 628 KB
1
2
3
Input07 AC 20 ms 672 KB
1
2
3
Input08 AC 19 ms 556 KB
1
2
3
Input09 AC 20 ms 504 KB
1
2
3
Input10 AC 17 ms 528 KB
1
2
3
Input11 RE 162 ms 536 KB
2
3
Input12 AC 21 ms 2224 KB
2
3
Input13 RE 23 ms 508 KB
2
3
Input14 AC 18 ms 1440 KB
2
3
Input15 RE 30 ms 524 KB
2
3
Input16 AC 38 ms 5680 KB
2
3
Input17 RE 27 ms 532 KB
2
3
Input18 AC 23 ms 820 KB
2
3
Input19 WA 41 ms 11284 KB
2
3
Input20 AC 26 ms 988 KB
2
3
Input21 AC 23 ms 2988 KB
2
3
Input22 AC 21 ms 616 KB
2
3
Input23 AC 29 ms 3184 KB
2
3
Input24 AC 23 ms 644 KB
2
3
Input25 WA 22 ms 1992 KB
2
3
Input26 AC 35 ms 7028 KB
2
3
Input27 RE 28 ms 644 KB
2
3
Input28 AC 21 ms 3360 KB
2
3
Input29 RE 19 ms 652 KB
2
3
Input30 WA 28 ms 6700 KB
2
3
Input31 WA 48 ms 2588 KB
3
Input32 WA 90 ms 8748 KB
3
Input33 RE 24 ms 832 KB
3
Input34 RE 27 ms 872 KB
3
Input35 WA 38 ms 1412 KB
3
Input36 WA 67 ms 4820 KB
3
Input37 WA 126 ms 11992 KB
3
Input38 WA 32 ms 1536 KB
3
Input39 WA 58 ms 4228 KB
3
Input40 WA 51 ms 5592 KB
3
Input41 RE 26 ms 1684 KB
3
Input42 RE 26 ms 1708 KB
3
Input43 RE 28 ms 1732 KB
3
Input44 RE 28 ms 1752 KB
3
Input45 RE 29 ms 1776 KB
3
Input46 RE 28 ms 1680 KB
3
Input47 RE 30 ms 1708 KB
3
Input48 RE 23 ms 1740 KB
3
Input49 RE 22 ms 1764 KB
3
Input50 RE 28 ms 1664 KB
3