日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩av电影网 | www.日批| 中文字幕 视频一区 | 国产成人无码一区二区在线观看 | 精品97人妻无码中文永久在线 | 精品少妇av| 中文字幕亚洲精品在线 | 日日干夜夜操 | 欧美在线视频一区 | 天天做天天射 | 成人综合精品 | 我看黄色一级片 | 久久av不卡 | 欧美综合在线一区 | 性欧美video另类hd尤物 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 久久综合精品国产二区无码不卡 | 亚洲av熟女一区 | 黑帮大佬和我的三百六十五天 | a国产精品 | 欧美性猛交xxxx乱大交 | 中文字幕av高清片 | 一区二区三区激情 | 国产女人在线 | 一级aaaa毛片 | 亚洲精品网站在线播放gif | 成年人在线视频网站 | av片在线观看免费 | 国产麻豆一区二区三区在线观看 | 亚欧洲精品在线视频 | 欧美另类老妇 | xxxx69视频| 国产精品99久久免费黑人人妻 | 成人性生交大片免费看r链接 | 亚洲国产图片 | 亚洲欧美另类日本 | 国产一级一级国产 | 日本精品一区二区 | jzzijzzij亚洲成熟少妇18 欧美www在线观看 | 日韩av导航 | 日韩av手机在线免费观看 | 日本黄色小网站 | 天天色天天操天天射 | 最近中文字幕 | jlzzjlzzjlzz亚洲人| 四虎影音先锋 | 97超碰导航| 久久香视频 | 欧美丝袜一区二区 | 久久国产劲爆∧v内射 | 在线岛国 | 国产精品一区二区亚洲 | 人人av在线| 欧美一区二区三区爽爽爽 | 高清av一区二区三区 | 老女人综合网 | 亚洲AV无码片久久精品 | 国产精品一卡二卡在线观看 | 亚洲天堂网一区二区 | 97综合| 欧美日本国产 | 91网站在线免费观看 | 天天综合天天做天天综合 | 日本理伦片午夜理伦片 | 91精品专区 | 色资源在线 | 国产91在线 | 亚洲 | 成人五区| 美女网站在线 | 亚洲人天堂 | 人妻va精品va欧美va | 日韩wwww | 18一20岁毛毛片 | 男人的天堂视频 | 丝袜老师扒开让我了一夜漫画 | 人妻无码久久一区二区三区免费 | 亚洲黄色免费看 | heyzo国产 | 欧洲亚洲天堂 | 欧美黑人多人双交 | 簧片av | 青青草精品在线视频 | 精品人妻一区二区三区蜜桃 | 中文字幕一区二区三区av | 成都免费高清电影 | 欧美伦理片 | 国产成人a人亚洲精品无码 在线aa | 蜜桃成人免费视频 | av黄色在线| 少妇25p| 日本不卡视频一区二区三区 | 色桃av| 男人的天堂在线 | 国产精品久久久久久亚洲调教 | 成人天堂av| 欧美日韩二区三区 | 人人免费操 | 欧美一级大片 | 欧美电影一区二区三区 |