HDU 1175 连连看
连连看
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 14418 Accepted Submission(s): 3778
玩家鼠标先后点击两块棋子,试图将他们消去,然后游戏的后台判断这两个方格能不能消去。现在你的任务就是写这个后台程序。
注意:询问之间无先后关系,都是针对当前状态的!
#include <stdio.h> typedef struct
{
int aim;
int x;
int y;
}Qu;
Qu Queue[];//队列
int Map[][];//数字矩阵
int Time[][];//到达某个位置的次数
int move[][]={,,-,,,-,,};
int x1,y1,x2,y2;
int m,n,t; int BFS()
{
int i;
int I,J;
int time;
int rear,front;
rear=front=-;
rear++;
Time[x1][y1]=;
Queue[rear].aim=;
Queue[rear].x=x1;
Queue[rear].y=y1;
while(rear>front)
{
front++;
//找到返回1
if(Queue[front].x==x2 && Queue[front].y==y2)
{
return ;
}
//四个方向搜索
for(i=;i<;i++)
{
I=Queue[front].x+move[i][];
J=Queue[front].y+move[i][];
if((!Map[I][J] || I==x2 && J==y2) && I> && J> && I<=m && J<=n)
{
//开始的方向和现在的方向不同则次数加一
if(Queue[front].aim && Queue[front].aim!=i+)
{
time=Time[Queue[front].x][Queue[front].y]+;
}
else
{
//!Queue[front].aim代表没有转弯
if(!Queue[front].aim || Queue[front].aim==i+)
{
time=Time[Queue[front].x][Queue[front].y];
}
}
//如果当前到达某个数字的转弯次数少于以前的次数,则将该数字的位置如队列,并更新次数
if(Time[I][J]>=time && time<)
{
rear++;
Queue[rear].aim=i+;//方向为当前的方向
Queue[rear].x=I;
Queue[rear].y=J;
Time[I][J]=time;//更新次数
}
}
}
}
return ;
} int main()
{
int i,j,k;
while()
{
scanf("%d %d",&m,&n);
if(!m && !n)
{
break;
}
for(i=;i<=m;i++)
{
for(j=;j<=n;j++)
{
scanf("%d",&Map[i][j]);
}
}
scanf("%d",&t);
for(i=;i<t;i++)
{
for(j=;j<=m;j++)
{
for(k=;k<=n;k++)
{
Time[j][k]=;//次数初始化为无穷大
}
}
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
if(!Map[x1][y1] || !Map[x2][y2] || (Map[x1][y1]!=Map[x2][y2]))
{
printf("NO\n");
continue;
}
if(BFS() || (x1==x2 && y1==y2))
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
}
return ;
}
HDU 1175 连连看的更多相关文章
- HDU 1175 连连看(超级经典的bfs之一)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1175 连连看 Time Limit: 20000/10000 MS (Java/Others) ...
- hdu - 1728逃离迷宫 && hdu - 1175 连连看 (普通bfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1728 这两道题花了一下午的时候调试,因为以前做过类似的题,但是判断方向的方法是错的,一直没发现啊,真无语. 每个 ...
- hdu 1175 连连看 DFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175 解题思路:从出发点开始DFS.出发点与终点中间只能通过0相连,或者直接相连,判断能否找出这样的路 ...
- Hdu 1175 连连看(DFS)
Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=1175 因为题目只问能不能搜到,没问最少要几个弯才能搜到,所以我采取了DFS. 因为与Hdu ...
- hdu 1175 连连看 (深搜)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175 题目大意:如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子)这样的两个棋子可以 ...
- HDU - 1175 连连看 【DFS】【BFS】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1175 思路 这种题一想到就用搜索, 但是内存是32m 用 bfs 会不会MLE 没错 第一次 BFS的 ...
- HDU 1175 连连看(BFS)
连连看 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1175 连连看 (深搜+剪枝)
题目链接 Problem Description "连连看"相信很多人都玩过.没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子.如果某两个相同的棋子,可以 ...
- hdu 1175 连连看 DFS_字节跳动笔试原题
转载至:https://www.cnblogs.com/LQBZ/p/4253962.html Problem Description "连连看"相信很多人都玩过.没玩过也没关系, ...
随机推荐
- Qt 二级菜单栏 中文无法输入问题
问题描述:Qt5.3.1版本在建立主界面的二级菜单的时候,中文无法输入,而英文确是可以输入的.(首先我在网页上面搜索了一下,他们说是Qt的设计问题.) 解决方法: (1)粘贴复制,把中文写在其他的地方 ...
- Jstat在分析java的内存GC时的应用
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量.使用时,需加上查看进程的进程id,和所选参数. 执行:cd $JAVA_HOME/bin中执行jstat,注意j ...
- 盘点mysql中容易被我们误会的地方
引语:mysql作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己 ...
- bzoj 3517: 翻硬币
3517: 翻硬币 Time Limit: 1 Sec Memory Limit: 128 MB Description 有一个n行n列的棋盘,每个格子上都有一个硬币,且n为偶数.每个硬币要么是正面 ...
- 动软商城系统可免费下载了,专业批发分销商城系统,ASP.NET商城系统
动软商城系统是一套集CMS资讯+品牌Shop商城+WAP商城+APP手机客户端+SNS用户互动社区于一体的全新电商营销解决方案.主要为企业树立企业品牌形象,实现独立网络推广,充分集成网站SEO.企业微 ...
- Disable multi finger touch in my app
http://stackoverflow.com/questions/12777435/disable-multi-finger-touch-in-my-app android:splitMotion ...
- docker使用GPU
1.物理机安装显卡驱动 2.安装nvidia-docker wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download ...
- 一個小技巧讓ipad或iphone的瀏覽器也能開啟firebug
首先複製這一段代碼 javascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']& ...
- jquery判断checkbox是否选中及改变checkbox状态(转)
jquery判断checked的三种方法:.attr('checked): //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false.prop('c ...
- Spring MVC+Quartz 定时任务持久化
请自行参考: http://sloanseaman.com/wordpress/2011/06/06/spring-and-quartz-and-persistence/ https://object ...