青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

poj3009

Curling 2.0

Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 6169 Accepted: 2547

Description

On Planet MM-21, after their Olympic games this year, curling is getting popular. But the rules are somewhat different from ours. The game is played on an ice game board on which a square mesh is marked. They use only a single stone. The purpose of the game is to lead the stone from the start to the goal with the minimum number of moves.

Fig. 1 shows an example of a game board. Some squares may be occupied with blocks. There are two special squares namely the start and the goal, which are not occupied with blocks. (These two squares are distinct.) Once the stone begins to move, it will proceed until it hits a block. In order to bring the stone to the goal, you may have to stop the stone by hitting it against a block, and throw again.


Fig. 1: Example of board (S: start, G: goal)

The movement of the stone obeys the following rules:

  • At the beginning, the stone stands still at the start square.
  • The movements of the stone are restricted to x and y directions. Diagonal moves are prohibited.
  • When the stone stands still, you can make it moving by throwing it. You may throw it to any direction unless it is blocked immediately(Fig. 2(a)).
  • Once thrown, the stone keeps moving to the same direction until one of the following occurs:
    • The stone hits a block (Fig. 2(b), (c)).
      • The stone stops at the square next to the block it hit.
      • The block disappears.
    • The stone gets out of the board.
      • The game ends in failure.
    • The stone reaches the goal square.
      • The stone stops there and the game ends in success.
  • You cannot throw the stone more than 10 times in a game. If the stone does not reach the goal in 10 moves, the game ends in failure.


Fig. 2: Stone movements

Under the rules, we would like to know whether the stone at the start can reach the goal and, if yes, the minimum number of moves required.

With the initial configuration shown in Fig. 1, 4 moves are required to bring the stone from the start to the goal. The route is shown in Fig. 3(a). Notice when the stone reaches the goal, the board configuration has changed as in Fig. 3(b).


Fig. 3: The solution for Fig. D-1 and the final board configuration

Input

The input is a sequence of datasets. The end of the input is indicated by a line containing two zeros separated by a space. The number of datasets never exceeds 100.

Each dataset is formatted as follows.

the width(=w) and the height(=h) of the board
First row of the board
...
h-th row of the board

The width and the height of the board satisfy: 2 <= w <= 20, 1 <= h <= 20.

Each line consists of w decimal numbers delimited by a space. The number describes the status of the corresponding square.

0 vacant square
1 block
2 start position
3 goal position

The dataset for Fig. D-1 is as follows:

6 6
1 0 0 2 1 0
1 1 0 0 0 0
0 0 0 0 0 3
0 0 0 0 0 0
1 0 0 0 0 1
0 1 1 1 1 1

Output

For each dataset, print a line having a decimal integer indicating the minimum number of moves along a route from the start to the goal. If there are no such routes, print -1 instead. Each line should not have any character other than this number.

Sample Input

2 1
3 2
6 6
1 0 0 2 1 0
1 1 0 0 0 0
0 0 0 0 0 3
0 0 0 0 0 0
1 0 0 0 0 1
0 1 1 1 1 1
6 1
1 1 2 1 1 3
6 1
1 0 2 1 1 3
12 1
2 0 1 1 1 1 1 1 1 1 1 3
13 1
2 0 1 1 1 1 1 1 1 1 1 1 3
0 0

Sample Output

1
4
-1
4
10
-1
這個題在家里就想寫,不過快開學了沒寫
前幾天寫了之后樣例沒過,改了好長時間都沒過
今天看別人的程序 ,終于把錯誤看出來了
while那個地方,如果能碰到石頭就dfs下去,不用再走了,我的應(yīng)該是dfs之后還能繼續(xù)走,這個地方就錯了
寫的特別丑,細節(jié)都沒處理好
 1#include<stdio.h>
 2#include<string.h>
 3#include<math.h>
 4#define MAX 25
 5int dx[4][2]= {{-1,0},{1,0},{0,-1},{0,1}};
 6int n,m,ans;
 7int sx,sy,ex,ey;
 8short map[MAX][MAX],used[MAX][MAX];
 9void init()
10{
11    int i,j;
12    for (i=1; i<=m; i++ )
13        for (j=1; j<=n ; j++ )
14        {
15            scanf("%d",&map[j][i]);
16            if (map[j][i]==2)
17            {
18                sx=j;
19                sy=i;
20                map[j][i]=0;
21            }

22        }

23}

24void dfs(int x,int y,int num)
25{
26    int flag;
27    int i,nx,ny;
28    if (num>10)
29    {
30        return;
31    }

32    for (i=0; i<4 ; i++ )
33    {
34        flag=0;
35        if (map[x+dx[i][0]][y+dx[i][1]]==1continue;
36        nx=x;
37        ny=y;
38        while (1)
39        {
40            nx=nx+dx[i][0];
41            ny=ny+dx[i][1];
42            if (nx<=n&&nx>=1&&ny<=m&&ny>=1)
43            {
44                if (map[nx][ny]==3)
45                {
46                    if (num<ans) ans=num;
47                    return;
48                }

49                else if (map[nx][ny]==1)
50                {
51                    break;
52                }

53            }

54            else
55            {
56                flag=1;
57                break;
58            }

59        }

60        if (flag==1)
61        {
62            continue;
63        }

64        map[nx][ny]=0;
65        dfs(nx-dx[i][0],ny-dx[i][1],num+1);
66        map[nx][ny]=1;
67    }

68}

69void work()
70{
71    int i,j;
72    ans=100000;
73    dfs(sx,sy,1);
74}

75int main()
76{
77
78    scanf("%d%d",&n,&m);
79    while (!(n==0&&m==0))
80    {
81        memset(map,0,sizeof(map));
82        init();
83        work();
84        if (ans==100000)
85        {
86            printf("-1\n");
87        }

88        else printf("%d\n",ans);
89        scanf("%d%d",&n,&m);
90    }

91    return 0;
92}

93

posted on 2012-03-06 22:17 jh818012 閱讀(1102) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿

文章檔案(85)

搜索

最新評論

  • 1.?re: poj1426
  • 我嚓,,輝哥,,居然搜到你的題解了
  • --season
  • 2.?re: poj3083
  • @王私江
    (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
  • --游客
  • 3.?re: poj3414[未登錄]
  • @王私江
    0ms
  • --jh818012
  • 4.?re: poj3414
  • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
  • --王私江
  • 5.?re: poj1426
  • 評論內(nèi)容較長,點擊標題查看
  • --王私江
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品国产三级国产普通话蜜臀| 欧美日韩精品免费| 久久精品理论片| 伊伊综合在线| 欧美日韩福利| 欧美一区二区在线观看| 欧美电影资源| 亚洲素人在线| 国内精品视频在线观看| 欧美日韩不卡| 久久久久.com| 中文亚洲免费| 免费在线欧美黄色| 亚洲欧美美女| 亚洲精品免费观看| 国产视频欧美| 欧美日韩精品系列| 久久另类ts人妖一区二区| 99成人免费视频| 蜜臀va亚洲va欧美va天堂| 午夜亚洲性色福利视频| 亚洲精品一区二区三区av| 国产一区二区三区四区hd| 国产精品r级在线| 欧美高清在线一区二区| 久久精品国产精品亚洲精品| 亚洲特黄一级片| 亚洲品质自拍| 亚洲欧美国内爽妇网| 亚洲精品中文字| 国内精品免费午夜毛片| 国产精品久久久久999| 欧美黄色aa电影| 久久精品欧美日韩| 亚洲欧美三级伦理| 一区二区三区日韩在线观看| 91久久国产综合久久91精品网站| 久久中文在线| 久久精品一区二区国产| 午夜精品久久99蜜桃的功能介绍| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 日韩系列欧美系列| 伊人久久综合97精品| 国产欧美精品xxxx另类| 欧美日韩三区| 免费永久网站黄欧美| 久久九九电影| 久久se精品一区二区| 亚洲欧美另类国产| 9色porny自拍视频一区二区| 亚洲黄色小视频| 欧美激情a∨在线视频播放| 久久亚洲午夜电影| 久久久水蜜桃av免费网站| 欧美中文字幕在线观看| 亚洲欧美日韩在线不卡| 一本久久综合亚洲鲁鲁| 日韩一级欧洲| 99re6热只有精品免费观看| 亚洲人体偷拍| 亚洲精选一区二区| 亚洲乱码视频| 亚洲久久一区二区| 亚洲伦伦在线| 一区二区三区免费看| 一区二区欧美在线| 亚洲图色在线| 午夜精品一区二区三区在线播放| 亚洲欧美日韩国产| 欧美亚洲视频| 久久精品一区四区| 久久一日本道色综合久久| 猫咪成人在线观看| 欧美好吊妞视频| 最新成人av网站| 一区二区福利| 欧美一区二区视频97| 久久精品av麻豆的观看方式| 久久久久九九九| 牛牛精品成人免费视频| 欧美日韩国产999| 国产精品免费看| 国产亚洲一区二区三区| 亚洲高清中文字幕| 亚洲美女在线观看| 亚洲一区在线免费| 久久精品视频在线| 欧美国产在线视频| 亚洲精品欧美激情| 亚洲一区二区在线免费观看| 羞羞漫画18久久大片| 久久女同精品一区二区| 欧美激情国产日韩| 国产精品一区二区在线| 极品日韩久久| 在线一区二区三区四区| 久久国产色av| 欧美成人午夜激情| 一本色道久久综合亚洲精品不卡 | 亚洲欧美在线另类| 久久久夜夜夜| 亚洲韩国日本中文字幕| 国产精品99久久久久久有的能看| 欧美一区网站| 欧美精品二区| 国产亚洲成av人在线观看导航| 亚洲国产欧美一区| 亚洲午夜黄色| 久久久久国产一区二区三区| 亚洲第一天堂av| 亚洲午夜一区| 美女爽到呻吟久久久久| 国产精品美女久久久| 亚洲国产精品电影在线观看| 亚洲午夜久久久久久久久电影网| 久久精品中文字幕一区| 亚洲老司机av| 久久久久在线| 国产精品性做久久久久久| 亚洲欧洲免费视频| 久久精品女人天堂| 日韩视频一区二区在线观看| 久久精品最新地址| 国产精品视频精品| 日韩视频在线永久播放| 久久天堂成人| 亚洲一品av免费观看| 欧美激情bt| 在线看一区二区| 欧美一区二区三区视频免费| 亚洲茄子视频| 免费一级欧美片在线观看| 黄色精品在线看| 欧美一区二区三区的| 日韩一区二区免费高清| 久久伊人免费视频| 国产日韩精品电影| 亚洲综合好骚| 日韩视频免费观看高清完整版| 美女黄网久久| 狠狠色狠狠色综合日日小说| 午夜一区在线| 一区二区三区国产在线| 欧美精品乱码久久久久久按摩| 亚洲国产成人在线| 老司机精品福利视频| 性做久久久久久久久| 欧美视频在线不卡| 在线视频精品一| 亚洲激情av| 欧美大片免费观看在线观看网站推荐| 国语自产精品视频在线看一大j8| 性8sex亚洲区入口| 亚洲视频中文字幕| 国产精品高清一区二区三区| 在线视频你懂得一区二区三区| 亚洲精品久久久蜜桃| 欧美精品激情blacked18| 亚洲人体偷拍| 亚洲日本视频| 欧美日韩免费高清一区色橹橹| 日韩香蕉视频| 亚洲精品欧美精品| 欧美日韩亚洲一区二区三区| 一区二区三区久久久| 亚洲精品在线二区| 欧美日韩福利| 亚洲欧美日韩精品久久亚洲区| 亚洲午夜久久久久久久久电影网| 国产精品都在这里| 午夜精品福利一区二区蜜股av| 亚洲视频一区在线观看| 国产精品久久网站| 久久精品一二三| 久久人人97超碰国产公开结果| 在线欧美不卡| 亚洲国产日韩欧美在线图片| 欧美高清视频www夜色资源网| 日韩亚洲国产精品| 日韩一级不卡| 国产精品视频精品视频| 久久男人资源视频| 麻豆精品视频| 这里只有精品在线播放| 亚洲午夜激情免费视频| 国产亚洲一区二区三区在线播放| 欧美aa国产视频| 欧美精选午夜久久久乱码6080| 一区二区高清视频| 亚洲免费在线| 一区二区视频免费在线观看 | 久久九九精品| 久久久久欧美精品| 亚洲伦理在线| 亚洲欧美精品| 影音先锋欧美精品| 亚洲精品护士| 国产欧美精品va在线观看| 欧美aⅴ一区二区三区视频| 欧美日韩成人一区二区|