Snakes & ladders Arab and North African Region,2002 BFS
2013-02-17 19:00
239 查看
//题目的大概意思是又N*N的棋盘,编号从1 到 N*N 棋盘中分布着蛇和梯子玩家在位置1处, //然后掷骰子,如果点数在梯子尾则顺着梯子到达梯子头,若掷到蛇头,则滑到蛇尾 //问最快到达终点所需掷的次数... // 输入描述: 1表示1组数据,6 1 3分别表示棋盘大小,蛇的个数和梯子的个数 //35 25 表示蛇的头和尾巴 最后一行表示各个梯子的头和尾 /* 1 6 1 3 35 25 3 23 5 16 20 33 */ #include<stdio.h> #include<string.h> #define NMAX 20 #define SLMAX 200 struct SandL { int from,to; }; int main() { int D,N,S,L; int grid[NMAX*NMAX+1]; int gridbak[NMAX*NMAX+1]; SandL jk[2*SLMAX]; int n,i,j,k,m; int step,deal; scanf("%d",&D); for(i=0;i<D;i++) { scanf("%d%d%d",&N,&S,&L); for(j=0;j<S+L;j++) scanf("%d%d",&jk[j].from,&jk[j].to); memset(grid,0,sizeof(grid)); grid[1]=1; step=0; while(grid[N*N]==0) { memcpy(gridbak,grid,sizeof(grid)); memset(grid,0,sizeof(grid)); for(j=1;j<N*N-1;j++) { if(gridbak[j]==0) continue; for(k=1;k<=6;k++) { deal=0; if(j+k>N*N) break; for(m=0;m<S+L;m++) if(jk[m].from==j+k) { grid[jk[m].to]=1; deal=1; break; } if(deal==0&&grid[j+k]==0) grid[j+k]=1; } } step++; } printf("%d\n",step); } return 0; }
相关文章推荐
- Arab and North African Region,2002(Snakes & ladders)
- Arab and North African Region,2002(Snakes &amp; ladders)
- (BFS)uva2554-Snakes & Ladders
- Snakes & Ladders ——BFS入门题
- LightOJ 1151 Snakes and Ladders 高斯消元
- hdoj 1026 Ignatius and the Princess I【bfs&&路径输出】
- snakes and ladders
- [LeetCode][DS-AL]--297. Serialize and Deserialize Binary Tree(BFS & DFS)
- CF793B:B Igor and his way to work(DFS & BFS)
- LightOJ - 1151 Snakes and Ladders (高斯消元+概率DP)
- light oj 1151 - Snakes and Ladders 高斯消元+概率DP
- POJ 1240 Pre-Post-erous! && East Central North America 2002 (由前序后序遍历序列推出M叉树的种类)
- Red and Black(dfs&&bfs)
- Snakes and Ladders LightOJ - 1151( 概率dp+高斯消元)
- Snakes and Ladders
- HDU 1312 Red and Black-dfs&bfs-(分块)
- bzoj 2547: [Ctsc2002]玩具兵 bfs&最大匹配
- HDU 1312 Red and Black(经典搜索,DFS&BFS三种方式)
- [LightOJ 1151] Snakes and Ladders
- Snake & Ladders bfs