C++ 编程:解决蛇梯棋游戏的最少投掷次数
#include
const int MAXN = 10005; int n, s, t; int dis[MAXN]; bool vis[MAXN]; int snake[MAXN], ladder[MAXN];
void bfs() {
memset(dis, -1, sizeof(dis)); // 初始化距离为-1
memset(vis, false, sizeof(vis)); // 初始化访问标记为false
dis[0] = 0; // 起点距离为0
queue
int main() { cin >> n >> s; memset(snake, -1, sizeof(snake)); for (int i = 0; i < s; i++) { int x, y; cin >> x >> y; snake[x] = y; } cin >> t; memset(ladder, -1, sizeof(ladder)); for (int i = 0; i < t; i++) { int x, y; cin >> x >> y; ladder[x] = y; } bfs(); cout << dis[n] << endl; return 0; }
原文地址: https://www.cveoy.top/t/topic/mZWI 著作权归作者所有。请勿转载和采集!