bzoj1054: [HAOI2008]移動玩具(寬搜)
題目傳送門
水。
解法:
十六位二進位制表示狀態。
寬搜即可。
程式碼實現:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
struct node {char s[5][5];}list[110000];
int kangtuo(char s[5][5]) {
int t=1,ans=0;
for(int i=1;i<=4;i++)for(int j=1;j<=4;j++) {ans+=t*(s[i][j]-'0');t*=2;}
return ans;
}
char ss[5][5];bool v[110000];int d[110000];
int dx[5]={0,1,0,-1},dy[5]={1,0,-1,0};
bool pd(int x,int y) {if(x<1||x>4||y<1||y>4)return false;return true;}
int main() {
for(int i=1;i<=4;i++)scanf("%s",list[1].s[i]+1);
for(int i=1;i<=4;i++)scanf("%s",ss[i]+1);
int st=kangtuo(list[1].s),ed=kangtuo(ss);
memset(d,63,sizeof(d));d[st]=0;memset(v,false,sizeof(v));v[st]=true;
int head=1,tail=2;
while(head!=tail) {
int x=kangtuo(list[head].s);node tno=list[head];
for(int i=1;i<=4;i++)for(int j=1;j<=4;j++) {
if(tno.s[i][j]=='0')continue;
for(int k=0;k<=3;k++) {
int tx=i+dx[k],ty=j+dy[k];
if(pd(tx,ty)==false||tno.s[tx][ty]=='1')continue;
swap(tno.s[i][j],tno.s[tx][ty]);int y=kangtuo(tno.s);
if(d[y]>d[x]+1) {
d[y]=d[x]+1;
if(v[y]==false) {v[y]=true;list[tail++]=tno;}
}swap(tno.s[i][j],tno.s[tx][ty]);
}
}head++;
}printf("%d\n",d[ed]);
return 0;
}
相關文章
- P4290 [HAOI2008] 玩具取名
- c++ 廣度優先搜尋(寬搜)C++
- Omdia:移動寬頻資費創新——2024 年
- 中國移動寬頻 GPON 閘道器設定
- 移動寬頻密碼重置----如何更換路由器----------------絕殺技密碼路由器
- POJ1915,雙向寬度優先搜尋
- Echo - 520小玩具
- 【演算法】廣度/寬度優先搜尋(BFS)演算法
- 中國玩具消費調查:喜歡的玩具型別型別
- 企業專線頻寬安裝,選電信、聯通還是移動?——VecloudCloud
- 洛谷——玩具謎題
- vue+node全棧移動商城【5】-簡單的篩選搜尋功能Vue全棧
- BZOJ1044: [HAOI2008]木棍分割(dp 單調佇列)佇列
- 2018年全球寬頻與4G網速:中國10.9MB/s 移動最快
- 搜航網, 華運國際物流旗下新一代移動互聯運價資訊搜尋平臺
- gridview自動適應列寬View
- 三維 WebGIS 新玩具:OpenGlobusWeb
- win10搜尋框怎麼縮小_win10工作列搜尋框太寬如何調Win10
- 移動端頁面鍵盤出現“搜尋”按鍵且實現提交功能
- 搜尋總市場滲透率達15%日均檢索量破2億 360移動搜尋流量增長100%
- Win10系統下如何更改工作列搜尋框寬度Win10
- js拖動調整元素寬度JS
- 圖片寬高自動適配
- 2018年11月三大運營商運營資料PK 中國移動成寬頻老大
- 應用商店優化(ASO):哪些是2021年移動應用熱搜關鍵詞優化
- 移動端頁面自定義input喚起鍵盤return,換行鍵為搜尋
- iterator移動
- 棋子移動
- 【玩具】使用Python自動化傳送微信訊息進行訂水Python
- 移動面積演算法——捕捉移動波峰演算法
- 記一次中國移動家用寬頻設定成支援IPv6網路的經歷
- 深圳的寬頻費用一年3000多,真的好貴,小區的寬頻又被電信壟斷了,移動免費送我的寬頻卻不能安裝,欲哭無淚!(寬頻霸王條款幾時休,真的好艱難)
- Qt QTableView自動調整列寬行高QTView
- [寫了一個玩具] 引數注入
- 電子遊戲互動簡史:從“電子玩具”到“第九藝術”遊戲
- 三大運營商11月運營資料對比:移動4G、寬頻一騎絕塵
- 移動搜尋成亂象重災區 個人資訊被用於精準欺詐
- moviepy字幕移動