| Task: | Elegant Showroom |
| Sender: | KnowYourArchitecture |
| Submission time: | 2016-11-12 15:38:35 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.06 s | details |
| #2 | ACCEPTED | 0.05 s | details |
| #3 | ACCEPTED | 0.05 s | details |
| #4 | ACCEPTED | 0.06 s | details |
| #5 | ACCEPTED | 0.05 s | details |
| #6 | ACCEPTED | 0.06 s | details |
| #7 | ACCEPTED | 0.06 s | details |
| #8 | ACCEPTED | 0.12 s | details |
| #9 | ACCEPTED | 0.06 s | details |
| #10 | ACCEPTED | 0.05 s | details |
| #11 | ACCEPTED | 0.06 s | details |
| #12 | ACCEPTED | 0.06 s | details |
| #13 | ACCEPTED | 0.06 s | details |
| #14 | ACCEPTED | 0.06 s | details |
| #15 | ACCEPTED | 0.05 s | details |
| #16 | ACCEPTED | 0.06 s | details |
Code
#include <iostream>
#include <queue>
#include <tuple>
using namespace std;
char map[402][402];
int dist[402][402];
bool vv[402][402];
typedef tuple<int,int,int> TI3;
int main(){
int r,c;
cin>>r>>c;
for(int i=1;i<=r;++i)cin>>(map[i]+1);
int x,y;
cin>>x>>y;
priority_queue<TI3> q;
q.emplace(-1,x,y);
for(int i=1;i<=r;++i){
for(int j=1;j<=c;++j){
if(map[i][j]!='#'){
dist[i][j]=-1e9;
}
}
}
int d;
while(!q.empty()){
tie(d,x,y) = q.top();
q.pop();
if(dist[x][y]>d)continue;
if(vv[x][y])continue;
vv[x][y]=true;
if(x==1||y==1||x==r||y==c){cout<<-d<<'\n';return 0;}
#define dd(x,y) (d-(map[x][y]=='D'?0:1))
#define foo(x,y) if(dist[x][y]<dd(x,y))q.emplace(dd(x,y),x,y);
foo(x+1,y)
foo(x-1,y)
foo(x,y+1)
foo(x,y-1)
}
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 20 20 DDDDDDDDDDD##DD#DD#D DDccccc#c##c##cDccDD Dc#c#c#cc#ccc#c#Dc#D DccDc#Dc####ccc#c#DD ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 20 20 #################### #cccccccccccccccccc# #c################c# #c#cccccccccccccc#c# ... |
| correct output |
|---|
| 179 |
| user output |
|---|
| 179 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 20 20 #################### #cccccccccccccccccc# #cccccccccccccccccc# #cccccccccccccccccc# ... |
| correct output |
|---|
| 35 |
| user output |
|---|
| 35 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 400 400 DDD##D#DD##DDDDDDDD#DDDD###DDD... |
| correct output |
|---|
| 63 |
| user output |
|---|
| 63 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 400 400 #DDD###D#DD#DD#DD##DDD##D#DDD#... |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 400 400 DDDDDDD#D#DDDD##D#DDDDDDD#DD##... |
| correct output |
|---|
| 37 |
| user output |
|---|
| 37 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 400 400 #######D#DDD#D##DD####DDDDDD##... |
| correct output |
|---|
| 55 |
| user output |
|---|
| 55 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 400 400 DD############################... |
| correct output |
|---|
| 184 |
| user output |
|---|
| 184 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 20 20 DDDDD#DDDDDDDDD##D#D DccccD#DccccDcDD#c#D Dc###DD#c#ccDcccc#DD DccDc##DccccDcccc#DD ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 5 6 ####D# #DDDD# #D##c# #DDDc# ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 20 20 DDDDDD#DDDDDD#D#D#D# Dc#cccccccDcc#ccccDD DDcD#c##cDcc####Dc#D D#Dcccc#D##ccc#c#D#D ... |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 20 20 DDD#DDDD#DDDD#DDDD#D Dc##DDccDccD#DDcDDDD DcDDccc#cc#ccc##D##D DcccD#cDc##Dcccc##D# ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 20 20 #D###DD##DDDDDD###DD DDcDDccccDccDccDcc#D DcD##ccc#cDcDccccDD# DDcccc#Dc####c##ccDD ... |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 6 7 ####### #ccc#cD #c#c#c# #c#c#c# ... |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 5 5 DDDDD DDDDD DDcDD DDDDD ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 3 3 ### #cD ### 2 2 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
