求助,UKE
查看原帖
求助,UKE
315398
小杨小小杨楼主2021/10/1 21:38

code

#include<bits/stdc++.h>
using namespace std;
int f[9][9],sx,sy;
int dx[9]={1,1,1,-1,-1,-1,0,0,0}; 
int dy[9]={1,-1,0,1,0,-1,1,-1,0};
int dfs(int sx,int sy,int s){
	if(s==0) return 1;
	for(int i=0; i<9;++i){
		int nx=dx[i]+sx;
		int ny=dy[i]+sy;
		if(nx>8&&ny>8&&nx<1&&ny<1)
		    if(!f[nx-8+s-1][ny]&&!f[nx-8+s][ny])
		        return dfs(nx,ny,s-1);
	}
	return 0;
}
int main(){
	char ch;
	for(int i=1; i<=8;++i)
		for(int j=1; j<=8;++j){
			cin>>ch;
			if(ch=='S') f[i][j]=1
			else f[i][j]=0;
			if(ch=='M') sx=i,sy=j;
		}
	if(dfs(sx,sy,8)) puts("WIN");
	else puts("LOSE");
	return 0;
}

UKE了好久了,不是代码重复的问题啊

2021/10/1 21:38
加载中...