青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

USACO 3.2 Magic Squares

?BFS搜索題。代碼寫的比較亂,用一個set來存儲已經(jīng)訪問過的結(jié)點。analysis中的標程有不少可以學(xué)習(xí)的地方,如幾個操作的變換,用轉(zhuǎn)換數(shù)組來寫,代碼清晰明了,encode方法就省去了set。我通過保存整個樹來輸出解,標程通過反向操作,來輸出解,做法很巧妙。

#include?<iostream>
#include?
<fstream>
#include?
<set>
#include?
<queue>

using?namespace?std;

ifstream?fin(
"msquare.in");
ofstream?fout(
"msquare.out");

#ifdef?_DEBUG
#define?out?cout
#define?in?cin
#else
#define?out?fout
#define?in?fin
#endif

int?final[8];
set<int>visited;
char?result[8*7*6*5*4*3*2*1+1];

struct?queue_node{
????
int?current[8];
????queue_node?
*parent;
????
char?op;
};

void?op(int?*current,char?c)
{
????
int?tmp;
????
switch(c){
????????
case?'A':
????????????
for(int?i=0;i<4;++i)
????????????????swap(current[i],current[
7-i]);
????????????
break;
????????
case?'B':
????????????tmp?
=?current[3];
????????????
for(int?i=3;i>=1;--i)
????????????????current[i]?
=?current[i-1];
????????????current[
0]?=?tmp;
????????????tmp?
=?current[4];
????????????
for(int?i=4;i<=6;++i)
????????????????current[i]?
=?current[i+1];
????????????current[
7]?=?tmp;
????????????
break;
????????
case?'C':
????????????tmp?
=?current[6];
????????????current[
6]?=?current[5];
????????????current[
5]?=?current[2];
????????????current[
2]?=?current[1];
????????????current[
1]?=?tmp;
????????????
break;
????}
}

int?cur_value(int?*cur)
{
????
int?res?=?0;
????
for(int?i=0;i<8;++i){
????????res
*=10;
????????res
+=cur[i];
????}

????
return?res;
}


void?solve()
{
????
for(int?i=0;i<8;++i){
????????
in>>final[i];
????}

????queue
<queue_node*>?q;
????queue_node?
*node?=?new?queue_node;
????
for(int?i=0;i<8;++i)
????????node
->current[i]?=?i+1;

????node
->parent?=?NULL;

????q.push(node);

????
while(?!q.empty()?){
????????queue_node?
*node?=?q.front();
????????q.pop();

????????
int?cur?=?cur_value(node->current);
????????
if(?visited.find(?cur)?!=?visited.end())
????????????
continue;
????????visited.insert(cur);

????????
bool?ok?=?true;
????????
for(int?i=0;i<8;++i){
????????????
if(node->current[i]!=final[i]){
????????????????ok?
=?false;
????????????????
break;
????????????}
????????}

????????
if(ok){
????????????
int?i?=?0;
????????????
while(node->parent!=NULL){
????????????????result[i
++]?=?node->op;
????????????????node
=node->parent;
????????????}

????????????
if(i==0){
????????????????
out<<0<<endl<<endl;
????????????????exit(
0);
????????????}

????????????
out<<i<<endl;

????????????
int?j;
????????????i
--;
????????????
for(j=0;i>=0;i--,j++){
????????????????
out<<result[i];
????????????????
if(j%60==59)?out<<endl;
????????????}
????????????
????????????
if(j%60!=0)
????????????????
out<<endl;

????????????exit(
0);
????????}

????????
for(char?c='A';c<='C';++c){
????????????queue_node?
*?n?=?new?queue_node;
????????????memcpy(n
->current,node->current,sizeof(node->current));
????????????op(n
->current,c);
????????????n
->op?=?c;
????????????n
->parent?=?node;
????????????q.push(n);
????????}
????}
}

int?main(int?argc,char?*argv[])
{
????solve();?
????
return?0;
}


posted on 2009-07-06 20:01 YZY 閱讀(562) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmUSACO搜索

導(dǎo)航

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

統(tǒng)計

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜臀久久99精品久久久画质超高清 | 亚洲精品乱码久久久久久按摩观| 午夜欧美大片免费观看 | 午夜视频在线观看一区二区| 一区二区三区 在线观看视| 国产中文一区二区| 亚洲第一区色| 国产精品av免费在线观看| 欧美大胆人体视频| 国产精品久久久久aaaa九色| 欧美日韩卡一卡二| 久久午夜羞羞影院免费观看| 国产精品自在在线| 9久草视频在线视频精品| 狠狠色丁香久久婷婷综合_中| 亚洲精品美女91| 亚洲三级影片| 欧美日韩一区二区视频在线| 亚洲电影免费| 亚洲第一精品在线| 久久一区二区精品| 欧美成人国产一区二区| 亚洲黄色av| 欧美精品激情| 日韩一级精品| 中文精品视频| 国产亚洲精品v| 欧美一区二区私人影院日本| 香港成人在线视频| 国产伦精品一区二区三区四区免费 | 亚洲高清自拍| 国产亚洲精品bt天堂精选| 久久精品视频网| 欧美视频一二三区| 午夜精品理论片| 欧美成人综合网站| 日韩午夜一区| 欧美专区一区二区三区| 亚洲欧美大片| 欧美日韩一区二区三区在线| 欧美一站二站| 玖玖玖国产精品| 激情一区二区| 久久久精品视频成人| 国产精品毛片a∨一区二区三区|国| 一个色综合av| 国产精品久久久久一区二区三区共| 这里是久久伊人| 久久精品视频99| 亚洲卡通欧美制服中文| 亚洲天堂激情| 亚洲一区二区三区四区五区午夜 | 99国产精品久久| 欧美一级专区| 欧美专区亚洲专区| 国产专区欧美专区| 久久久久九九九九| 99亚洲一区二区| 久久手机精品视频| 亚洲看片网站| 一区二区高清视频| 亚洲激情专区| 欧美成人a视频| 久久成年人视频| 91久久久国产精品| 欧美综合第一页| 噜噜噜躁狠狠躁狠狠精品视频| 欧美一区二区三区四区高清| 国产农村妇女精品一区二区 | 亚洲精品视频在线观看网站| 美日韩丰满少妇在线观看| 宅男精品视频| 欧美日韩卡一卡二| 激情欧美丁香| 91久久精品国产91久久| 国产免费成人av| 日韩一区二区福利| 欧美激情综合| 国产精品午夜久久| 一本一本a久久| 在线视频一区观看| 国产精品推荐精品| 久久综合综合久久综合| 久久精品二区亚洲w码| 久久午夜国产精品| 国产亚洲欧洲| 亚洲永久免费| 亚洲美女在线一区| 欧美人与性动交α欧美精品济南到| 免费短视频成人日韩| 一本色道久久综合狠狠躁篇怎么玩| 久久久精品一区二区三区| 亚洲精品一区久久久久久| 亚洲一区二区三区中文字幕| 亚洲神马久久| 亚洲电影观看| 可以看av的网站久久看| 亚洲天堂偷拍| 欧美多人爱爱视频网站| 99视频精品在线| 欧美日韩ab| 亚洲精品日本| 欧美一区二区视频97| 亚洲欧洲午夜| 国产亚洲精品自拍| 国产精品成人播放| 先锋a资源在线看亚洲| 理论片一区二区在线| 亚洲激情视频网站| 亚洲国产精品123| 欧美日韩色婷婷| 你懂的视频一区二区| 亚洲视频第一页| 国产美女精品人人做人人爽| 日韩亚洲精品视频| 亚洲日本中文字幕免费在线不卡| 亚洲永久免费| 亚洲国产精品成人久久综合一区 | 欧美性做爰毛片| 亚洲欧美日韩天堂| 亚洲视频在线观看免费| 亚洲国产欧美一区| 麻豆成人av| 欧美一区二区视频在线| 亚洲精品少妇网址| 狠狠综合久久av一区二区老牛| 欧美天堂亚洲电影院在线播放| 欧美成人中文字幕在线| 欧美在线电影| 欧美一区二区三区四区在线观看地址 | 国产精一区二区三区| 欧美一区二区视频97| 99国内精品| 亚洲一区二区在| 先锋影音国产精品| 一区二区电影免费在线观看| 日韩亚洲综合在线| 欧美高清视频一区| 欧美电影在线观看完整版| 亚洲精品国产视频| 亚洲激情国产| 久久久水蜜桃av免费网站| 一区二区三区四区国产| 亚洲免费av电影| 久久久最新网址| 欧美高清不卡在线| 亚洲小说春色综合另类电影| 欧美精品一区二区在线播放| 久久国产精品电影| 欧美日韩日本视频| 伊人一区二区三区久久精品| 亚洲国产精品成人综合| 亚洲精品美女在线观看| 欧美一区二区三区免费大片| 久久综合久久久| 中文精品视频一区二区在线观看| 久久精品视频va| 欧美高清在线一区| 久久一区二区三区四区| 欧美日韩一区二区高清| 亚洲国内高清视频| 午夜精品在线看| 欧美国产精品| 羞羞色国产精品| 欧美激情一区二区| 狠狠综合久久| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美激情四射在线日 | 久久国产欧美日韩精品| 一本大道av伊人久久综合| 久久精品理论片| 欧美偷拍另类| 一区二区三区在线高清| 久久久久久久波多野高潮日日| 亚洲日本久久| 国产精品v欧美精品v日韩 | 亚洲综合国产激情另类一区| 午夜精品久久久久久99热软件| 国产精品捆绑调教| 亚洲欧美国产高清| 欧美激情视频免费观看| 久久三级福利| 在线观看欧美视频| 久久亚洲风情| 免费人成网站在线观看欧美高清 | 男人的天堂成人在线| 在线电影一区| 欧美激情四色| 国产日韩一区在线| 亚洲国产欧美一区二区三区同亚洲| 欧美福利一区二区| 91久久久在线| 亚洲精品一区二区三区在线观看 | 亚洲日韩成人| 亚洲视屏一区| 一区二区三区精品久久久| 亚洲国产另类久久精品| 国产精品进线69影院| 欧美国产综合视频| 亚洲毛片在线观看.|