真是水題,感謝HAOI送的福利樣例23333
裸BFS,用string做判重,會八數碼就會這題。
注意由於隊列中狀態數很多,一定要把隊列的數組開大點!!!
#include #include #include #include #include #include #include #define MAXN 5 using namespace std; mapvisit; int tmp[MAXN][MAXN],nowstatus[MAXN][MAXN]; int xx[]={1,-1,0,0},yy[]={0,0,1,-1}; bool inMap(int x,int y) { if(x<1||x>4||y<1||y>4) return false; return true; } string GetPermutationFromArray() { string ans=; for(int i=1;i<=4;i++) for(int j=1;j<=4;j++) ans+=tmp[i][j]+'0'; return ans; } void GetArrayFromPermutaion(string s) { int p=0; for(int i=1;i<=4;i++) for(int j=1;j<=4;j++) tmp[i][j]=s[p++]-'0'; } struct node { string status; int step; }q[100000],first,goal; int h=0,t=0; int BFS() { q[t++]=first; visit[first.status]=true; while(h>s; first.status+=s; } for(int i=1;i<=4;i++) { cin>>s; goal.status+=s; } printf(%d ,BFS()); return 0; }
快排序算法,排序算法快速排序是由東尼·霍爾所發
C++入門學習——模板 為什麼需要模板? 我們已經學過重
bzoj 1001狼抓兔子(對偶圖+最短路)最大流,bzoj
【C++】朝花夕拾——表達式樹,朝花夕拾表達式樹表達式樹:
數碼管問題(c++實現),數碼 描
wprintf、wcout輸出中文和unicode中文字符串