📄 2119973_ac_30ms_3928k.c
字号:
# include <stdio.h>
# include <string.h>
long l;
char hop[7][7];
char mark[7];
int num[1000000];
void input()
{
int i, j;
int t;
for(i = 0; i < 5; i++)
for(j = 0; j < 5; j++)
{
scanf("%d",&t);
hop[i][j] = t+'0';
}
}
void dfs(int h,int w,int n)
{
long t;
if(n!=6)
mark[n] = hop[h][w];
else
{
t = (mark[0]-'0')*100000+(mark[1]-'0')*10000+(mark[2]-'0')*1000+(mark[3]-'0')*100+(mark[4]-'0')*10+(mark[5]-'0')*1;
if(num[t]==0)
{
num[t] = 1;
l++;
}
return ;
}
if(h>0)
dfs(h-1,w,n+1);
if(h<4)
dfs(h+1,w,n+1);
if(w>0)
dfs(h,w-1,n+1);
if(w<4)
dfs(h,w+1,n+1);
}
void solve()
{
int i, j;
l = 0;
memset(num,0,sizeof(num));
for(i = 0; i < 5; i++)
for(j = 0; j < 5; j++)
{
memset(mark,0,sizeof(mark));
dfs(i,j,0);
}
printf("%ld\n",l);
}
int main()
{
input();
solve();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -