답안 #315879

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
315879 2020-10-24T08:40:15 Z georgerapeanu Patkice (COCI20_patkice) C++11
50 / 50
1 ms 384 KB
#include <bits/stdc++.h>

using namespace std;

int n,m;
string s[105];

int get(int x,int y){
    if(s[x][y] == '.' || s[x][y] == 'x' || s[x][y] == 'o'){
        return (s[x][y] != 'x') * 1e9;
    }
    if(s[x][y] == '<') return 1 + get(x,y - 1);
    if(s[x][y] == '>') return 1 + get(x,y + 1);
    if(s[x][y] == '^') return 1 + get(x - 1,y);
    if(s[x][y] == 'v') return 1 + get(x + 1,y);
}


int main(){

    cin >> n >> m;

    int x,y;

    for(int i = 1;i <= n;i++){
        cin >> s[i];
        s[i] = " " + s[i];
        for(int j = 1;j <= m;j++){
            if(s[i][j] == 'o'){
                x = i;
                y = j;
            }
        }
    }

    pair<int,char> best_ans = {1e9,'Z'};

    best_ans = min(best_ans,make_pair(get(x - 1,y),'N'));
    best_ans = min(best_ans,make_pair(get(x + 1,y),'S'));
    best_ans = min(best_ans,make_pair(get(x,y + 1),'E'));
    best_ans = min(best_ans,make_pair(get(x,y - 1),'W'));

    if(best_ans.first < 1e9){
        cout << ":)\n" << best_ans.second;
    }
    else{
        cout << ":(";
    }

    return 0;
}


Compilation message

patkice.cpp: In function 'int get(int, int)':
patkice.cpp:16:1: warning: control reaches end of non-void function [-Wreturn-type]
   16 | }
      | ^
patkice.cpp: In function 'int main()':
patkice.cpp:38:42: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
   38 |     best_ans = min(best_ans,make_pair(get(x - 1,y),'N'));
      |                                       ~~~^~~~~~~~~
patkice.cpp:38:42: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 256 KB Output is correct
6 Correct 1 ms 256 KB Output is correct
7 Correct 0 ms 256 KB Output is correct
8 Correct 1 ms 256 KB Output is correct
9 Correct 0 ms 256 KB Output is correct
10 Correct 1 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 0 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
5 Correct 0 ms 256 KB Output is correct
6 Correct 0 ms 256 KB Output is correct
7 Correct 1 ms 256 KB Output is correct
8 Correct 1 ms 256 KB Output is correct
9 Correct 0 ms 256 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 1 ms 256 KB Output is correct
12 Correct 1 ms 256 KB Output is correct
13 Correct 1 ms 256 KB Output is correct
14 Correct 1 ms 256 KB Output is correct
15 Correct 1 ms 256 KB Output is correct
16 Correct 0 ms 256 KB Output is correct
17 Correct 1 ms 256 KB Output is correct
18 Correct 0 ms 256 KB Output is correct
19 Correct 1 ms 384 KB Output is correct
20 Correct 0 ms 256 KB Output is correct