Submission #00097
ソースコード
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 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | #include<bits/stdc++.h> using namespace std; typedef pair< int , int > P; vector< int > x,y; queue<P>que; int main(){ ios_base::sync_with_stdio( false ); int h,w,n,q; int dx[]={0,1,-1,0}; int dy[]={1,0,0,-1}; 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; P sx,sy,gx,gy; sx.second = gx.second = x.size()-1; sy.second = gy.second = y.size()-1; cin >> a >> b >> c >> d; for ( int j=0;j<x.size();j++){ if (x[j] <= a){ sx.first = j; } else if (sx.second == x.size()-1){ sx.second = j; } if (x[j] <= c){ gx.first = j; } else if (gx.second == x.size()-1){ gx.second = j; } } for ( int j=0;j<y.size();j++){ if (y[j] <= b){ sy.first = j; } else if (sy.second == y.size()-1){ sy.second = j; } if (y[j] <= d){ gy.first = j; } else if (gy.second == y.size()-1){ gy.second = j; } } int data[2][2]={}; bool flag = false ; if (maze[sy.first][sx.first] != -1){ data[0][0] = sx.first; data[0][1] = sy.first; } else if (maze[sy.first][sx.second] != -1){ data[0][0] = sx.second; data[0][1] = sy.first; } else if (maze[sy.second][sx.first] != -1){ data[0][0] = sx.first; data[0][1] = sy.second; } else if (maze[sy.second][sx.second] != -1){ data[0][0] = sx.second; data[0][1] = sy.second; } else { flag = true ; } if (maze[gy.first][gx.first] != -1){ data[1][0] = gx.first; data[1][1] = gy.first; } else if (maze[gy.first][gx.second] != -1){ data[1][0] = gx.second; data[1][1] = gy.first; } else if (maze[gy.second][gx.first] != -1){ data[1][0] = gx.first; data[1][1] = gy.second; } else if (maze[gy.second][gx.second] != -1){ data[1][0] = gx.second; data[1][1] = gy.second; } else { flag = true ; } if (flag) cout << "Broadcasting accident" << endl; else if (maze[data[0][1]][data[0][0]] == maze[data[1][1]][data[1][0]]) cout << "Success" << endl; else cout << "Broadcasting accident" << endl; } return 0; } |
ステータス
項目 | データ |
---|---|
問題 | 0005 - 回れ雛月花 -Lunatic |
ユーザー名 | ei1612 |
投稿日時 | 2017-12-22 15:52:16 |
言語 | C++11 |
状態 | Wrong Answer |
得点 | 0 |
ソースコード長 | 4293 Byte |
最大実行時間 | 139 ms |
最大メモリ使用量 | 12056 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | Burn | 0 / 35 | Input0* , Input10 |
2 | Out | 0 / 140 | Input[0-2]* , Input30 |
3 | Misfortune | 0 / 175 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # | ||
---|---|---|---|---|---|---|
Input01 | WA | 21 ms | 480 KB |
1
|
2
|
3
|
Input02 | AC | 20 ms | 420 KB |
1
|
2
|
3
|
Input03 | WA | 16 ms | 572 KB |
1
|
2
|
3
|
Input04 | AC | 17 ms | 624 KB |
1
|
2
|
3
|
Input05 | WA | 16 ms | 440 KB |
1
|
2
|
3
|
Input06 | AC | 19 ms | 484 KB |
1
|
2
|
3
|
Input07 | WA | 17 ms | 536 KB |
1
|
2
|
3
|
Input08 | AC | 16 ms | 552 KB |
1
|
2
|
3
|
Input09 | AC | 20 ms | 620 KB |
1
|
2
|
3
|
Input10 | WA | 22 ms | 636 KB |
1
|
2
|
3
|
Input11 | RE | 139 ms | 640 KB |
2
|
3
|
|
Input12 | AC | 22 ms | 2328 KB |
2
|
3
|
|
Input13 | RE | 26 ms | 476 KB |
2
|
3
|
|
Input14 | AC | 21 ms | 1408 KB |
2
|
3
|
|
Input15 | RE | 20 ms | 612 KB |
2
|
3
|
|
Input16 | AC | 28 ms | 5764 KB |
2
|
3
|
|
Input17 | RE | 28 ms | 736 KB |
2
|
3
|
|
Input18 | AC | 20 ms | 1012 KB |
2
|
3
|
|
Input19 | AC | 45 ms | 11600 KB |
2
|
3
|
|
Input20 | AC | 22 ms | 1164 KB |
2
|
3
|
|
Input21 | AC | 25 ms | 3668 KB |
2
|
3
|
|
Input22 | AC | 16 ms | 544 KB |
2
|
3
|
|
Input23 | AC | 18 ms | 3236 KB |
2
|
3
|
|
Input24 | AC | 17 ms | 684 KB |
2
|
3
|
|
Input25 | AC | 21 ms | 2032 KB |
2
|
3
|
|
Input26 | AC | 33 ms | 7580 KB |
2
|
3
|
|
Input27 | RE | 24 ms | 644 KB |
2
|
3
|
|
Input28 | AC | 21 ms | 2596 KB |
2
|
3
|
|
Input29 | RE | 23 ms | 680 KB |
2
|
3
|
|
Input30 | AC | 30 ms | 6864 KB |
2
|
3
|
|
Input31 | AC | 42 ms | 2620 KB |
3
|
||
Input32 | WA | 94 ms | 8136 KB |
3
|
||
Input33 | RE | 24 ms | 932 KB |
3
|
||
Input34 | RE | 24 ms | 968 KB |
3
|
||
Input35 | AC | 32 ms | 1384 KB |
3
|
||
Input36 | WA | 67 ms | 5692 KB |
3
|
||
Input37 | WA | 127 ms | 12056 KB |
3
|
||
Input38 | AC | 35 ms | 1468 KB |
3
|
||
Input39 | WA | 57 ms | 5048 KB |
3
|
||
Input40 | AC | 70 ms | 4768 KB |
3
|
||
Input41 | RE | 27 ms | 1812 KB |
3
|
||
Input42 | RE | 25 ms | 1712 KB |
3
|
||
Input43 | RE | 26 ms | 1740 KB |
3
|
||
Input44 | RE | 25 ms | 1768 KB |
3
|
||
Input45 | RE | 23 ms | 1792 KB |
3
|
||
Input46 | RE | 29 ms | 1696 KB |
3
|
||
Input47 | RE | 23 ms | 1720 KB |
3
|
||
Input48 | RE | 22 ms | 1620 KB |
3
|
||
Input49 | RE | 20 ms | 1772 KB |
3
|
||
Input50 | RE | 30 ms | 1672 KB |
3
|