栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++最多的字母

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++最多的字母


//Author:PanDaoxi
#include 
using namespace std;
//map=地图 
char map[30][30];
//vis=标记字母是否使用过
//r,s=矩阵的长和宽
//maxs=最大值
//cnt=每次搜索的值 
int vis[30]={},r,s,maxs=0,cnt=1; 
//搜索方向:上右下左 
int f[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
//深搜函数 
void dfs(int x,int y){
	if(cnt>maxs) maxs=cnt;
	for(int i=0;i<4;i++){
		int x1=x+f[i][0],y1=y+f[i][1];
		//不超过边界且字母不能重复 
		//map[x1][y1]=储存的字母 
		if(x1>=1&&x1<=r&&y1>=1&&y1<=s&&vis[map[x1][y1]-'A']==0){
			cnt++;
			vis[map[x1][y1]-'A']=1; //标记已经使用
			dfs(x1,y1);
			//回溯
			vis[map[x1][y1]-'A']=0;
			cnt--; 
		}
	}
} 
int main(){
	cin>>r>>s;
	for(int i=1;i<=r;i++){
		for(int j=1;j<=s;j++){
			cin>>map[i][j];
		}
	} 
	vis[map[1][1]-'A']=1;
	dfs(1,1);
	cout< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号