Submission #00071
ソースコード
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 | #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 (x[j] <= a){ sx = j; } if (x[j] <= c){ gx = j; } } for ( int j=0;j<y.size();j++){ if (y[j] <= b){ sy = j; } if (y[j] <= d){ gy = j; } } 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:16:20 |
言語 | C++11 |
状態 | Wrong Answer |
得点 | 0 |
ソースコード長 | 2909 Byte |
最大実行時間 | 147 ms |
最大メモリ使用量 | 12500 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | Burn | 0 / 35 | Input0* , Input10 |
2 | Out | 0 / 140 | Input[0-2]* , Input30 |
3 | Misfortune | 0 / 175 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # | ||
---|---|---|---|---|---|---|
Input01 | AC | 22 ms | 480 KB |
1
|
2
|
3
|
Input02 | AC | 18 ms | 552 KB |
1
|
2
|
3
|
Input03 | AC | 20 ms | 576 KB |
1
|
2
|
3
|
Input04 | AC | 20 ms | 756 KB |
1
|
2
|
3
|
Input05 | WA | 14 ms | 576 KB |
1
|
2
|
3
|
Input06 | AC | 19 ms | 628 KB |
1
|
2
|
3
|
Input07 | AC | 17 ms | 680 KB |
1
|
2
|
3
|
Input08 | AC | 14 ms | 564 KB |
1
|
2
|
3
|
Input09 | AC | 18 ms | 760 KB |
1
|
2
|
3
|
Input10 | AC | 21 ms | 648 KB |
1
|
2
|
3
|
Input11 | RE | 147 ms | 528 KB |
2
|
3
|
|
Input12 | AC | 27 ms | 2344 KB |
2
|
3
|
|
Input13 | RE | 26 ms | 624 KB |
2
|
3
|
|
Input14 | WA | 20 ms | 1428 KB |
2
|
3
|
|
Input15 | RE | 25 ms | 644 KB |
2
|
3
|
|
Input16 | AC | 23 ms | 5804 KB |
2
|
3
|
|
Input17 | RE | 25 ms | 788 KB |
2
|
3
|
|
Input18 | AC | 15 ms | 1076 KB |
2
|
3
|
|
Input19 | AC | 38 ms | 11160 KB |
2
|
3
|
|
Input20 | AC | 17 ms | 996 KB |
2
|
3
|
|
Input21 | AC | 21 ms | 3896 KB |
2
|
3
|
|
Input22 | AC | 21 ms | 788 KB |
2
|
3
|
|
Input23 | AC | 24 ms | 3988 KB |
2
|
3
|
|
Input24 | AC | 13 ms | 636 KB |
2
|
3
|
|
Input25 | AC | 23 ms | 1980 KB |
2
|
3
|
|
Input26 | AC | 28 ms | 7276 KB |
2
|
3
|
|
Input27 | RE | 25 ms | 668 KB |
2
|
3
|
|
Input28 | AC | 18 ms | 3644 KB |
2
|
3
|
|
Input29 | RE | 25 ms | 792 KB |
2
|
3
|
|
Input30 | AC | 37 ms | 5944 KB |
2
|
3
|
|
Input31 | WA | 41 ms | 3536 KB |
3
|
||
Input32 | WA | 86 ms | 8712 KB |
3
|
||
Input33 | RE | 25 ms | 912 KB |
3
|
||
Input34 | RE | 25 ms | 820 KB |
3
|
||
Input35 | WA | 35 ms | 1236 KB |
3
|
||
Input36 | WA | 68 ms | 5028 KB |
3
|
||
Input37 | WA | 113 ms | 12500 KB |
3
|
||
Input38 | WA | 27 ms | 1524 KB |
3
|
||
Input39 | WA | 50 ms | 5244 KB |
3
|
||
Input40 | WA | 51 ms | 4716 KB |
3
|
||
Input41 | RE | 27 ms | 1772 KB |
3
|
||
Input42 | RE | 31 ms | 1672 KB |
3
|
||
Input43 | RE | 27 ms | 1704 KB |
3
|
||
Input44 | RE | 31 ms | 1608 KB |
3
|
||
Input45 | RE | 28 ms | 1632 KB |
3
|
||
Input46 | RE | 24 ms | 1656 KB |
3
|
||
Input47 | RE | 27 ms | 1680 KB |
3
|
||
Input48 | RE | 24 ms | 1712 KB |
3
|
||
Input49 | RE | 27 ms | 1740 KB |
3
|
||
Input50 | RE | 29 ms | 1772 KB |
3
|