比赛 练习12 评测结果 EEEEEEEEE
题目名称 跳房子 最终得分 0
用户昵称 Hyoi_ctime 运行时间 0.613 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2017-06-30 11:46:09
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#define lyj best
using namespace std;
int x;
int ans;
int vis[100];
int d[8][8];
void read(){
	freopen("numgrid.in","r",stdin);
	freopen("numgrid.out","w",stdout);
	for(int i=0;i<5;i++){
		for(int j=0;j<5;j++){
		cin>>x;
		d[i][j]=x;
	    }
    }
}
void dfs(int x,int y,int dep,int sum)
{
	int nowsum=sum*10 + d[x][y];
	if(dep==6){
		if(!vis[sum]){
			ans++;
			vis[sum]=true;
		}
		return;
	}
	if(x+1<=5)dfs(x+1,y,dep+1,nowsum);
	if(y+1<=5)dfs(x,y+1,dep+1,nowsum);
	if(x-1>0)dfs(x-1,y,dep+1,nowsum);
	if(y-1>0)dfs(x,y-1,dep+1,nowsum);
}


int main()
{
	read();
	for(int i = 1; i <= 5; ++ i)
	    for(int j = 1; j <= 5; ++ j)
			dfs(i, j, 0, 0);
			printf("%d",ans);
}