码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1175 连连看 (深搜)

时间:2014-08-10 21:30:50      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   div   

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175

题目大意:如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子)这样的两个棋子可以消掉。还有一个要注意的地方的就是转弯。转弯的次数不超过两次,这两个棋子才可以在棋盘上消去~

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int sx,sy,bx,by,wan,dir[4][2]= {0,1,0,-1,1,0,-1,0},n,m;
 6 int vis[1110][1110],a[1110][1110],flag;
 7 
 8 void dfs(int x,int y,int wan,int fang)
 9 {
10     if (flag==1)
11     return ;
12     if (wan==2&&x!=bx&&y!=by)
13         return ;
14     if (wan>2)
15         return ;
16     for (int i=0; i<4; i++)
17     {
18         int X=x+dir[i][0];
19         int Y=y+dir[i][1];
20         if (X==bx&&Y==by)
21             //printf ("Yes\n");
22         {
23             flag=1;
24             return ;
25         }
26         if (X>0&&X<=n&&Y>0&&Y<=m&&!vis[X][Y]&&a[X][Y]==0)
27         {
28             vis[X][Y]=1;
29             if (fang!=i)
30                 dfs(X,Y,wan+1,i);
31             else
32                 dfs(X,Y,wan,i);
33             vis[X][Y]=0;
34         }
35 
36     }
37 }
38 
39 int main ()
40 {
41     while (~scanf("%d%d",&n,&m))
42     {
43         if (n==0&&m==0)
44             break;
45         for (int i=1; i<=n; i++)
46             for (int j=1; j<=m; j++)
47                 cin>>a[i][j];
48         int k;
49         cin>>k;
50         while (k--)
51         {
52             flag=0;
53             memset(vis,0,sizeof(vis));
54             cin>>sx>>sy>>bx>>by;
55             if (a[sx][sy]!=a[bx][by]||(a[sx][sy]==0||a[bx][by]==0))
56                 printf ("NO\n");
57             else
58             {
59                 dfs(sx,sy,-1,-1);
60                 if (flag==1)
61                     printf ("YES\n");
62                 else
63                     printf ("NO\n");
64             }
65         }
66     }
67     return 0;
68 }

 

hdu 1175 连连看 (深搜),布布扣,bubuko.com

hdu 1175 连连看 (深搜)

标签:style   blog   http   color   os   io   for   div   

原文地址:http://www.cnblogs.com/qq-star/p/3903339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!