답안 #484592

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
484592 2021-11-04T14:35:02 Z groupATSU Patkice (COCI20_patkice) C++14
30 / 50
1 ms 588 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll inf=1e9;
const int maxn=1e3;
const ll mod=998244353;
int a,b;
char g[maxn][maxn];
int used[maxn][maxn];
void clr(){
	for(int i=1;i<=a;i++){
		for(int t=1;t<=b;t++)used[i][t]=0;
	}
}
void DFS(int x,int y,int ind){            
	if(g[x][y]=='x'){
		cout<<":)"<<endl;
    	if(ind==2)cout<<'N';
    	else if(ind==1)cout<<'S';
    	else if(ind==3)cout<<'E';
    	else cout<<'W';
    	exit(0);
    }
	if(g[x][y]=='.' || used[x][y]==1){
		return ;
	}
	used[x][y]=1;
	if(g[x][y]=='v')DFS(x+1,y,ind);
	if(g[x][y]=='^')DFS(x-1,y,ind);
	if(g[x][y]=='>')DFS(x,y+1,ind);
	if(g[x][y]=='<')DFS(x,y-1,ind);
}
void solve(){
	cin>>a>>b;
	pair <int,int> start,finish;
	for(int i=1;i<=a;i++){
		for(int t=1;t<=b;t++){
			cin>>g[i][t];
			if(g[i][t]=='o'){
				start.first=i;
				start.second=t; 			
			}
			if(g[i][t]=='x'){
				finish.first=i;
				finish.second=t;
			}
		}
	}
	DFS(start.first+1,start.second,1);
	clr();
	DFS(start.first-1,start.second,2);
	clr();
	DFS(start.first,start.second+1,3);
	clr();
	DFS(start.first,start.second-1,4);
	cout<<":(";
	
}
int main(){
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t=1;
    //cin>>t;
    while(t--){
        solve();
        cout<<'\n';
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 588 KB Output is correct
2 Correct 0 ms 332 KB Output is correct
3 Correct 1 ms 588 KB Output is correct
4 Correct 0 ms 460 KB Output is correct
5 Correct 1 ms 460 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 0 ms 320 KB Output is correct
8 Correct 1 ms 588 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 588 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -