2 条题解
- 
  2#include<bits/stdc++.h> using namespace std; int cnt,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1}; char a[11][11]; bool check(int x,int y){ return 1<=x&&x<=5&&1<=y&&y<=5; } set<string> s; void dfs(int x,int y,int dep,string an){ an+=a[x][y]; if(dep==6){ if(!s.count(an)){ s.insert(an); cnt++; } return; } for(int i=0;i<4;i++){ int nx=x+dx[i],ny=y+dy[i]; if(check(nx,ny)){ dfs(nx,ny,dep+1,an); } } return; } int main(){ for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ cin>>a[i][j]; } } for(int i=1;i<=5;i++){ for(int j=1;j<=5;j++){ dfs(i,j,1,""); } } cout<<cnt; return 0; }
信息
- ID
- 311
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 9
- 标签
- 递交数
- 13
- 已通过
- 4
- 上传者
 
      