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
|