1 条题解
-
2
#include<bits/stdc++.h> using namespace std; int a[5][5],b[10000000]; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; void dfs(int x,int y,int step,int n){ if(step==5){ b[n]++; return; } for(int i=0;i<4;i++){ int fx=x+dx[i],fy=y+dy[i]; if(fx>=0&&fx<5&&fy>=0&&fy<5){ dfs(fx,fy,step+1,n*10+a[fx][fy]); } } } int main(){ for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ cin>>a[i][j]; } } for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ dfs(i,j,0,a[i][j]); } } int sum=0; for(int i=0;i<10000000;i++){ if(b[i])sum++; } cout<<sum; }
信息
- ID
- 476
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 5
- 标签
- 递交数
- 63
- 已通过
- 23
- 上传者