跳马问题
来源:互联网 发布:华为麦芒4 4g网络设置 编辑:程序博客网 时间:2024/05/17 21:42
#include <iostream>#include <queue>using namespace std;typedef struct{ int row; int col;}Node;int n;int sx,sy;//start nodeint ex,ey;//end nodeint map[200][200];//mark arrayint a[8][2] = {{1,2},{2,1},{1,-2},{2,-1},{-1,-2},{-2,-1},{-1,2},{-2,1}};//transfer arrayint result[10000];int bfs(){ for(int i = 0;i < 200; i++) for(int j = 0;j < 200; j++) map[i][j] = -1; Node node; node.row = sx - 1; node.col = sy - 1; queue<Node> q; q.push(node); map[node.row][node.col] = 0; while(!q.empty()){ Node nowNode = q.front(); q.pop(); int row = nowNode.row; int col = nowNode.col; if(row == ex - 1 && col == ey - 1){ return map[row][col]; }else{ Node nextNode; for(int i = 0;i < 8;i++){ nextNode.row = row + a[i][0]; nextNode.col = col + a[i][1]; if(nextNode.row >= 0 && nextNode.row < 200 && nextNode.col >= 0 && nextNode.col < 200 && map[nextNode.row][nextNode.col] == -1){ map[nextNode.row][nextNode.col] = map[row][col] + 1; q.push(nextNode); } } } } return -1;}int main(){ cin >> n; for(int i = 0;i < n;i++){ cin >> sx >> sy >> ex >> ey; result[i] = bfs(); } for(int j = 0;j < n;j++){ cout << result[j] << endl; } return 0;}
0 0
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- 跳马问题
- HDU1372 跳马问题 BFS
- 试题:跳马问题
- 跳马问题-回溯法
- 棋盘跳马问题
- HDU1372 跳马问题(bfs)
- 搜索中的跳马问题
- 国际象棋跳马问题
- dfs:跳马问题
- Music Player With Desktop LRC Scolling - Java
- USACO——Palindromic Squares 回文平方数
- 我是一滴千年泪,女娲造人所剩水。不羡九宵天长久,为缘人间几轮回。
- 平安科技移动开发二队技术周报(第七期)
- 斑斑驳驳。伤情时节,镌为别离的箫瑟
- 跳马问题
- LD_PRELOAD应用--基于libvirt审计(上)
- leetcode--Find Peak Element
- MySQL常用命令
- 挚爱身影渐隐。素绞无意世情狠
- OpenCV-EmguCV 在 Unity3D 中的配置
- 网页错误码大全(来自百度文库)总结_Phoenix-晶
- 黑马程序员——Java基础——String类的学习
- CDN实现方案如何选择: squid Varnish Nginx