Advertisement

AcWing 1107 魔板的 BFS 题解

阅读量:

AcWing 1107 魔板
BFS算法的运用核心在于明确魔板的目标状态与起始状态,随后依据既定规则持续对魔板实施变换操作,并与目标状态进行比对,直至实现预期状态。在此过程中需特别关注优先队列的合理应用。

复制代码
    #include<bits/stdc++.h>
    
    using namespace std;
    
    const int N = 10;
    
    char g[2][4];
    unordered_map<string, pair<char, string>>pre;  //一个字符串映射到一个操作和一个状态 
    unordered_map<string, int>dist;
    
    void Set(string state){  //将二维数组重新赋给字符串  
    	for(int i = 0; i < 4; i ++ ) g[0][i] = state[i];
    	for(int i = 0, j = 7; i < 4; i ++ , j -- ) g[1][i] = state[j];
    }
    
    string get(){    //用于将魔板状态放入临时二维数组g内 

全部评论 (0)

还没有任何评论哟~