日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷P2730 [IOI]魔板 Magic Squares

發布時間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷P2730 [IOI]魔板 Magic Squares 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目背景

在成功地發明了魔方之后,魯比克先生發明了它的二維版本,稱作魔板。這是一張有8個大小相同的格子的魔板:

1 2 3 4

8 7 6 5

題目描述

我們知道魔板的每一個方格都有一種顏色。這8種顏色用前8個正整數來表示。可以用顏色的序列來表示一種魔板狀態,規定從魔板的左上角開始,沿順時針方向依次取出整數,構成一個顏色序列。對于上圖的魔板狀態,我們用序列(1,2,3,4,5,6,7,8)來表示。這是基本狀態。

這里提供三種基本操作,分別用大寫字母“A”,“B”,“C”來表示(可以通過這些操作改變魔板的狀態):

“A”:交換上下兩行;

“B”:將最右邊的一列插入最左邊;

“C”:魔板中央四格作順時針旋轉。

下面是對基本狀態進行操作的示范:

A: 8 7 6 5

1 2 3 4

B: 4 1 2 3

5 8 7 6

C: 1 7 2 4

8 6 3 5

對于每種可能的狀態,這三種基本操作都可以使用。

你要編程計算用最少的基本操作完成基本狀態到目標狀態的轉換,輸出基本操作序列。

輸入格式

只有一行,包括8個整數,用空格分開(這些整數在范圍 1——8 之間)不換行,表示目標狀態。

輸出格式

Line 1: 包括一個整數,表示最短操作序列的長度。

Line 2: 在字典序中最早出現的操作序列,用字符串表示,除最后一行外,每行輸出60個字符。

輸入輸出樣例

輸入 #1復制 2 6 8 4 5 7 3 1 輸出 #1復制 7 BCABCCB

說明/提示

題目翻譯來自NOCOW。

USACO Training Section 3.2

?

解析:-----BFS寬搜-----

對于狀態采用了字符串的存儲是采用了將八個數字壓成一個字符串的方式
例如初始狀態為"12345678",而字符串存儲為"12348765"?。
然后根據三個變換規則ABC進行變換
直到變成了目標狀態
注意目標狀態也要第二部分翻轉
例如"26845731",存儲為"26841375"。

1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<string> 6 #include<algorithm> 7 #include<iomanip> 8 #include<cstdlib> 9 #include<queue> 10 #include<set> 11 #include<map> 12 #include<stack> 13 #include<vector> 14 #define LL long long 15 #define re register 16 #define Max 100001 17 struct MoBan { 18 std::string p; 19 std::string str; 20 int step; 21 }; 22 std::queue<MoBan>q; 23 std::string D; 24 int ans; 25 std::map<std::string,int>m; 26 std::string BFS() 27 { 28 MoBan now,net; 29 while(!q.empty()) { 30 now=q.front();q.pop(); 31 std::string str=now.str; 32 int t=now.step; 33 std::string p=now.p; 34 if(str==D) { 35 ans=t; 36 return p; 37 break; 38 } 39 ++t; 40 //A 41 std::string d=""; 42 for(re int i = 4 ; i <= 7 ; ++ i) d+=str[i]; 43 for(re int i = 0 ; i <= 3 ; ++ i) d+=str[i]; 44 net.str=d;net.p=p+"A"; 45 net.step=t; 46 if(m[d]!=1) q.push(net),m[d]=1; 47 //B 48 std::string a=""; 49 a+=str[3]; 50 for(re int i = 0 ; i < 3 ; ++ i) a+=str[i]; 51 a+=str[7]; 52 for(re int i = 4 ; i < 7 ; ++ i) a+=str[i]; 53 net.str=a;net.p=p+"B"; 54 if(m[a]!=1) q.push(net),m[a]=1; 55 //C 56 std::string c=""; 57 c+=str[0],c+=str[5],c+=str[1],c+=str[3],c+=str[4],c+=str[6],c+=str[2],c+=str[7]; 58 net.str=c;net.p=p+"C"; 59 if(m[c]!=1) q.push(net),m[c]=1; 60 } 61 } 62 int main() 63 { 64 char ch[9];std::string str="12348765"; 65 for(re int i = 1 ; i <= 8 ; ++ i) std::cin >> ch[i]; 66 for(re int i = 1 ; i <= 4 ; ++ i) D+=ch[i]; 67 for(re int i = 8 ; i >= 5 ; -- i) D+=ch[i]; 68 MoBan now;m[str]=1; 69 now.p="";now.step=0;now.str=str;q.push(now);std::string p=BFS(); 70 printf("%d\n",ans); 71 int len=p.length();std::cout << p[0]; 72 for(re int i = 1 ; i < len ; ++ i) { 73 std::cout << p[i]; 74 if(i%60==0) std::cout << '\n'; 75 } 76 return 0; 77 } AC代碼

轉載于:https://www.cnblogs.com/handsomegodzilla/p/11287637.html

總結

以上是生活随笔為你收集整理的洛谷P2730 [IOI]魔板 Magic Squares的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 大陆极品少妇内射aaaaa | 加勒比在线一区 | 国产噜噜噜噜噜久久久久久久久 | 欧美aⅴ| 日韩视频一区二区在线观看 | 欧美视频免费看欧美视频 | 激情国产精品 | 日本韩国中文字幕 | yy77777丰满少妇影院 | 久草手机在线视频 | 国产精品成人免费一区二区视频 | 自拍偷拍2019 | 九九热国产精品视频 | 日韩精品久久一区 | 日韩欧美啪啪 | 女人性做爰69片免费看 | 亚洲区视频 | 日韩一二三区在线观看 | 中文字幕在线观看视频www | 超碰超碰超碰超碰 | 国产又粗又黄又爽又硬的视频 | 丝袜人妻一区二区 | 亚洲三级伦理 | 99精品久久 | 波多野结衣高清在线 | 成人毛片18女人 | 日韩一区二区三区四区在线 | 久久一区二区三区精品 | 日韩精品免费在线视频 | 无码精品视频一区二区三区 | 97九色 | 成年人91视频| 国产中文字幕一区二区 | 91精品国产高清一区二区三区蜜臀 | 午夜寂寞自拍 | 欧美日本亚洲 | 相亲对象是问题学生动漫免费观看 | 欧美孕交视频 | 爱爱综合 | 小明看国产 | 夜夜爱av | 日韩成人福利 | 成人手机av | 久久丫精品国产亚洲av不卡 | 久久人妻少妇嫩草av | 日韩黄色视屏 | 日本久久高清 | 亚洲女人18毛片水真多 | 久久亚洲欧洲 | 亚洲涩涩网 | 扒丝袜 | 欧美激情一区在线 | 久久久久99精品成人片毛片 | 午夜激情av在线 | 自拍偷拍一区二区三区 | 欧美大喷水吹潮合集在线观看 | 好色成人网 | 国产chinesehd精品 | 国产有码| 欧美123| 538任你躁在线精品免费 | 91视频日本 | 国产精品不卡在线观看 | 成人影视免费观看 | 在线免费看91 | 精品黄色 | 99精品免费视频 | 日本熟伦人妇xxxx | 超碰三级 | 日本网站黄色 | 99久久精品一区二区 | 日韩精品在线视频 | 夜夜骚av一区二区三区 | 色婷婷综合视频 | 超碰在线免费看 | 你懂的亚洲 | 97成人人妻一区二区三区 | 免费黄av | 国产成人三级在线观看视频 | 久久国产精品影院 | 少女视频的播放方法 | 七月婷婷综合 | 欧美日韩中文字幕一区二区 | 日韩一级片免费观看 | 综合狠狠开心 | 麻豆影视国产在线观看 | 日韩和欧美一区二区 | 国产精品一二三四 | 久久久久久久久久电影 | 精品xxxxx | 妹子干综合 | 99产精品成人啪免费网站 | 欧美一级黄色录像 | 国产三级成人 | 成人免费视频视频 | 国产精品高潮呻吟久久av野狼 | 日韩精品电影 | 另类图片亚洲色图 | wwww黄色片|