POJ 1154 LETTERS G++
程序员文章站
2022-07-14 20:18:55
...
单人游戏,R行S列的棋盘,一个棋子,每个位置标识有大写字母。棋子开始时在最左上角,移动时同一个字母只能访问一次,求最多能移动多少次。
#include <iostream>
using namespace std;
int n,m;
char da[21][21];
int hs[26];
int ax[4]={0,0,1,-1};
int ay[4]={1,-1,0,0};
int maxt=0;
void bsf(int x,int y,int d)
{
d++;
if(hs[da[x][y]-'A']==1)
{
d--;
return;
}else if(hs[da[x][y]-'A']==0)
{
hs[da[x][y]-'A']=1;
}
maxt=max(d,maxt);
for(int i=0;i<4;i++)
{
int tx,ty;
tx=x+ax[i];
ty=y+ay[i];
if((tx>=0)&&(tx<n)&&(ty>=0)&&(ty<m))
{
bsf(tx,ty,d);
}
}
hs[da[x][y]-'A']=0;
d--;
}
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>da[i][j];
}
}
/*
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<da[i][j];
}
cout<<endl;
}*/
bsf(0,0,0);
cout<<maxt<<endl;
return 0;
}
上一篇: Docker学习04:数据管理
下一篇: C++实战-获取驱动器的卷标
推荐阅读
-
POJ 3600 Subimage Recognition G++ dfs 巧妙 没掌握
-
POJ 1365 Prime Land G++ 处理输入巧妙
-
POJ 1358 Housing Complexes G++ 二分图匹配 没掌握
-
POJ 1388 Hinge Node Problem G++ floyd扩展 背
-
POJ 1321 棋盘问题 G++
-
POJ 1376 Robot G++
-
POJ 1789 Truck History G++
-
POJ 1708 Game G++ 巧妙 bfs 没掌握
-
POJ 1730 Perfect Pth Powers G++ pow未实现 素数+gcd实现 巧妙
-
POJ 1799 Yeehaa! G++ 几何 背