Submission #916417

# Submission time Handle Problem Language Result Execution time Memory
916417 2024-01-25T20:14:52 Z svaz Patkice (COCI20_patkice) C++14
0 / 50
1000 ms 348 KB
#include<bits/stdc++.h>
using namespace std;
int main(){
    int r,s,inx,iny;
    cin>>r>>s;
    char matriz[r][s];
    for(int i=0;i<r;i++){
        for(int j=0;j<s;j++){
            cin>>matriz[i][j];
            if(matriz[i][j]=='o'){
                inx=i;
                iny=j;
            }
        }
    }
    int x,y,cp=0,ans=(r*s)+1;
    char opt='Z';
    x=inx;
    y=iny-1;
    while(matriz[x][y]!='.' && matriz[x][y]!='x' && x>=0 && x<r && y>=0 && y<s){
        cp++;
        if(matriz[x][y]=='>')y++;
        if(matriz[x][y]=='<')y--;
        if(matriz[x][y]=='^')x--;
        if(matriz[x][y]=='v')x++;
    }
    if(x>=0 && x<r && y>=0 && y<s){
        if(matriz[x][y]=='x'){
            if(cp<ans){
                ans=cp;
                opt='W';
            }
            if(cp==ans){
                opt=min(opt,'W');
            }
        }
    }
    x=inx-1;
    y=iny;
    cp=0;
    while(matriz[x][y]!='.' && matriz[x][y]!='x' && x>=0 && x<r && y>=0 && y<s){
        cp++;
        if(matriz[x][y]=='>')y++;
        if(matriz[x][y]=='<')y--;
        if(matriz[x][y]=='^')x--;
        if(matriz[x][y]=='v')x++;
    }
    if(x>=0 && x<r && y>=0 && y<s){
        if(matriz[x][y]=='x'){
            if(cp<ans){
                ans=cp;
                opt='N';
            }
            if(cp==ans){
                opt=min(opt,'N');
            }
        }
    }
    x=inx;
    y=iny+1;
    cp=0;
    while(matriz[x][y]!='.' && matriz[x][y]!='x' && x>=0 && x<r && y>=0 && y<s){
        cp++;
        if(matriz[x][y]=='>')y++;
        if(matriz[x][y]=='<')y--;
        if(matriz[x][y]=='^')x--;
        if(matriz[x][y]=='v')x++;
    }
    if(x>=0 && x<r && y>=0 && y<s){
        if(matriz[x][y]=='x'){
            if(cp<ans){
                ans=cp;
                opt='E';
            }
            if(cp==ans){
                opt=min(opt,'E');
            }
        }
    }
    x=inx+1;
    y=iny;
    cp=0;
    while(matriz[x][y]!='.' && matriz[x][y]!='x' && x>=0 && x<r && y>=0 && y<s){
        cp++;
        if(matriz[x][y]=='>')y++;
        if(matriz[x][y]=='<')y--;
        if(matriz[x][y]=='^')x--;
        if(matriz[x][y]=='v')x++;
    }
    if(x>=0 && x<r && y>=0 && y<s){
        if(matriz[x][y]=='x'){
            if(cp<ans){
                ans=cp;
                opt='S';
            }
            if(cp==ans){
                opt=min(opt,'S');
            }
        }
    }
    if(opt=='Z')cout<<":(\n";
    else{
      cout<<":)\n";
      cout<<opt<<"\n";
    }
    return 0;
}

Compilation message

patkice.cpp: In function 'int main()':
patkice.cpp:27:13: warning: 'inx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |     if(x>=0 && x<r && y>=0 && y<s){
      |        ~~~~~^~~~~~
patkice.cpp:83:22: warning: 'iny' may be used uninitialized in this function [-Wmaybe-uninitialized]
   83 |     while(matriz[x][y]!='.' && matriz[x][y]!='x' && x>=0 && x<r && y>=0 && y<s){
      |           ~~~~~~~~~~~^
# Verdict Execution time Memory Grader output
1 Execution timed out 1058 ms 348 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1037 ms 344 KB Time limit exceeded
2 Halted 0 ms 0 KB -