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

Problem description

Now an emergent task for you is to open a password lock. The password is consisted of four digits. Each digit is numbered from 1 to 9.
Each time, you can add or minus 1 to any digit. When add 1 to '9', the digit will change to be '1' and when minus 1 to '1', the digit will change to be '9'. You can also exchange the digit with its neighbor. Each action will take one step.

Now your task is to use minimal steps to open the lock.

Note: The leftmost digit is not the neighbor of the rightmost digit.


?
Input
The input file begins with an integer T, indicating the number of test cases.

Each test case begins with a four digit N, indicating the initial state of the password lock. Then followed a line with anotther four dight M, indicating the password which can open the lock. There is one blank line after each test case.


?
Output
For each test case, print the minimal steps in one line.


Sample Input
2
1234
2144

1111
9999
?
Sample Output
2
4




廣度搜索:

??1 #include? < iostream >
??2 #include? < queue >
??3 #include? < algorithm >
??4
??5 using ? namespace ?std;
??6
??7 bool ??mark[ 10000 ];
??8
??9 struct ?Node
?10 {
?11 ???? int ???step;
?12 ???? char ??state[ 5 ];
?13
?14 ????Node()
?15 ???? {}
?16
?17 ????Node(? int ?i,? char * ?str?)
?18 ????????:step(i)
?19 ???? {
?20 ????????strcpy(?state,?str?);
?21 ????}

?22 }
;
?23
?24
?25 int ?getn(? char ?str[ 5 ]?)
?26 {
?27 ???? return ?(str[ 0 ] - ? ' 0 ' ) * ? 1000 + ?(?str[ 1 ] - ? ' 0 ' ?) * ? 100 + ?(?str[ 2 ] - ? ' 0 ' ?) * ? 10 + ?(str[ 3 ] - ? ' 0 ' ?);
?28 }

?29
?30
?31 int ?main()
?32 {
?33 ???? char ????initial[ 5 ];
?34 ???? char ????open[ 5 ];
?35 ???? int ?????Cases;
?36
?37 ????scanf( " %d " , & Cases);
?38 ???? while ?(?Cases -- ?)
?39 ???? {
?40 ????????memset(?mark,? false ,? sizeof (mark)?);
?41
?42 ????????queue < struct ?Node > ??q;
?43 ????????scanf( " %s%s " ,initial,open);
?44
?45 ????????q.push?(?Node( 0 ,initial)?);
?46 ????????mark[?getn(initial)?] = ? true ;
?47
?48 ???????? while ?(? ! q.empty?()?)
?49 ???????? {
?50 ???????????? struct ?Node?head = ?q.front?();
?51 ????????????q.pop?();
?52
?53 ???????????? if ?(?strcmp(?head.state?,?open) == ? 0 ?)
?54 ???????????? {
?55 ????????????????printf( " %d " ,head.step?);
?56 ???????????????? break ;
?57 ????????????}

?58
?59 ???????????? for ?(? int ?i = ? 0 ;?i < ? 3 ;? ++ i?)
?60 ???????????? {????????
?61 ???????????????? char ?temp[ 5 ];
?62 ????????????????strcpy(?temp,?head.state?);
?63
?64 ????????????????std::swap?(?temp[i],?temp[i + 1 ]?);
?65 ???????????????? if ?(? ! mark[?getn(temp)?]?)
?66 ???????????????? {
?67 ????????????????????q.push?(?Node(head.step + ? 1 ,?temp?)?);
?68 ????????????????????mark[?getn(temp)?] = ? true ;
?69 ????????????????}

?70 ????????????}

?71
?72 ???????????? for ?(? int ?i = ? 0 ;?i < ? 4 ;? ++ i?)
?73 ???????????? {
?74 ???????????????? char ?temp[ 5 ];
?75 ????????????????strcpy(?temp,?head.state?);
?76
?77 ???????????????? if ?(?temp[i] == ? ' 9 ' ?)?temp[i] = ? ' 1 ' ;
?78 ???????????????? else ?temp[i] = ?temp[i] + ? 1 ;
?79
?80 ???????????????? int ?n = ?getn(temp);
?81 ???????????????? if ?(? ! mark[n]?)
?82 ???????????????? {
?83 ????????????????????q.push?(?Node(?head.step + ? 1 ,?temp?)?);
?84 ????????????????????mark[n] = ? true ;
?85 ????????????????}

?86 ????????????}

?87
?88 ???????????? for ?(? int ?i = ? 0 ;?i < ? 4 ;? ++ i?)
?89 ???????????? {
?90 ???????????????? char ?temp[ 5 ];
?91 ????????????????strcpy(?temp,?head.state?);
?92
?93 ???????????????? if ?(?temp[i] == ? ' 1 ' ?)?temp[i] = ? ' 9 ' ;
?94 ???????????????? else ?temp[i] = ?temp[i] - ? 1 ;
?95
?96 ???????????????? int ?n = ?getn(temp);
?97 ???????????????? if ?(? ! mark[n]?)
?98 ???????????????? {
?99 ????????????????????q.push?(?Node(?head.step + ? 1 ,?temp?)?);
100 ????????????????????mark[n] = ? true ;
101 ????????????????}

102 ????????????}

103 ????????}

104
105 ???????? if ?(?Cases?)?printf( " \n " );
106 ????}

107
108 ???? return ? 0 ;
109 }

110
posted on 2008-08-19 16:38 Darren 閱讀(437) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 搜索

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            999在线观看精品免费不卡网站| 久久久夜精品| 国产精品爽黄69| 久久久久九九视频| 欧美中文在线字幕| 欧美专区日韩视频| 这里只有精品电影| 欧美aaaaaaaa牛牛影院| 久久视频国产精品免费视频在线| 激情综合在线| 噜噜噜在线观看免费视频日韩| 亚洲区免费影片| 久久久久成人网| 99亚洲伊人久久精品影院红桃| 亚洲国产精品小视频| 美女精品在线观看| 欧美丰满高潮xxxx喷水动漫| 一本综合精品| 99re在线精品| 午夜国产不卡在线观看视频| 久久av资源网| 欧美成人在线影院| 亚洲乱码国产乱码精品精| 99热这里只有成人精品国产| 亚洲综合导航| 久久久亚洲一区| 欧美久久综合| 国产色婷婷国产综合在线理论片a| 国产一区二区三区在线观看视频 | 亚洲午夜激情网站| 欧美一区午夜精品| 亚洲高清在线视频| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲夜间福利| 蜜臀91精品一区二区三区| 欧美国产日韩一区二区三区| 国产精品视频自拍| 亚洲国产精品久久| 亚洲午夜av| 久久欧美肥婆一二区| 亚洲黄色一区二区三区| 西西裸体人体做爰大胆久久久| 欧美电影在线观看| 欧美日韩一区二区三区视频| 在线电影欧美日韩一区二区私密| 亚洲性色视频| 亚洲男人影院| 欧美国产三级| 久久精品视频导航| 欧美视频专区一二在线观看| 亚洲国产经典视频| 国产精品美腿一区在线看| 国产精品视频免费观看www| 国产热re99久久6国产精品| 在线欧美视频| 午夜精品www| 亚洲精品在线看| 午夜欧美大片免费观看| 久久精品首页| 国产亚洲精品久久久久婷婷瑜伽| 欧美在线看片| 国产精品久久久久久模特| 亚洲欧洲综合另类| 香蕉久久a毛片| 一区二区高清| 欧美性猛交99久久久久99按摩 | 亚洲欧洲另类| 久久婷婷国产综合精品青草| 性欧美大战久久久久久久久| 国产精品美女在线观看| 亚洲深夜福利网站| 亚洲国产国产亚洲一二三| 欧美综合激情网| 国产亚洲va综合人人澡精品| 久久国产一区| 欧美一区二区日韩| 欧美日韩国产一区精品一区| 国产精品99久久久久久久女警| 91久久精品国产91性色tv| 欧美激情视频给我| 9色精品在线| 99视频一区二区| 国产精品乱码| 久久久亚洲一区| 麻豆精品精华液| 亚洲黄色在线看| 亚洲激情中文1区| 欧美日韩一二区| 欧美一二三区精品| 欧美一区亚洲一区| 狠狠综合久久av一区二区老牛| 欧美成人有码| 欧美三区在线| 久久久久综合| 欧美精品久久一区| 亚洲一区二区三区国产| 午夜伦欧美伦电影理论片| 樱桃成人精品视频在线播放| 亚洲国产日韩欧美在线图片| 欧美日韩在线播放一区| 午夜宅男久久久| 久久只精品国产| 亚洲天天影视| 亚洲高清不卡在线| 欧美电影免费观看网站| 久久久精品动漫| 一区二区三区日韩在线观看| 午夜视频在线观看一区| 伊伊综合在线| 亚洲午夜久久久| 国产精品劲爆视频| 久久成人在线| 欧美伦理a级免费电影| 久久黄色级2电影| 欧美激情亚洲一区| 久久成人综合视频| 欧美高清在线视频| 欧美在线视频免费| 欧美成人69av| 久久精品一区蜜桃臀影院| 欧美成人a∨高清免费观看| 欧美一区二区三区免费观看| 欧美日韩国产美| 另类亚洲自拍| 国产亚洲成人一区| 99re6这里只有精品视频在线观看| 欧美中文字幕在线观看| 亚洲一区欧美| 欧美高清视频在线观看| 久久久久久色| 国产欧美日韩亚洲| 91久久黄色| 亚洲黄色在线看| 老司机精品久久| 久久精品主播| 国产精品一二三视频| 欧美激情欧美狂野欧美精品| 国内激情久久| 亚洲自拍偷拍网址| 午夜视频精品| 国产精品久久久久久久久久久久| 亚洲精品在线二区| 亚洲精品免费看| 欧美电影在线免费观看网站| 亚洲激情成人在线| 亚洲国产日韩欧美在线图片| 美女91精品| 亚洲高清视频一区| **性色生活片久久毛片| 亚洲欧美日韩一区二区在线| 先锋影音国产精品| 国产精品美女诱惑| 亚洲女人天堂成人av在线| 午夜视频久久久| 国产亚洲欧美日韩日本| 欧美一区二区三区免费观看视频| 欧美中文在线观看国产| 国产精品久久毛片a| 亚洲一区欧美二区| 性做久久久久久久免费看| 国产精品久久久久久久久久久久久久 | 欧美日韩成人在线播放| 亚洲免费观看高清在线观看| 亚洲在线一区二区| 国产精品一区2区| 久久久爽爽爽美女图片| 欧美成人精品在线视频| 91久久精品国产91久久性色tv| 欧美高清视频| 欧美一级片一区| 一区二区三区欧美日韩| 亚洲午夜久久久久久久久电影院 | 亚洲毛片在线观看| 亚洲乱码视频| 欧美在线欧美在线| 亚洲国内在线| 免费观看日韩| 在线观看成人一级片| 久久影院午夜论| 亚洲精品一区二区三区樱花| 国产精品久久久久久久久久妞妞| 欧美在线播放| 99精品视频免费观看| 免费在线观看一区二区| 亚洲男同1069视频| 亚洲青涩在线| 激情五月婷婷综合| 国产精品高潮呻吟久久av黑人| 久久人人97超碰精品888| 一区二区三区欧美视频| 亚洲一区三区电影在线观看| 欧美大片一区二区三区| 亚洲国产激情| 99日韩精品| 在线播放亚洲| 一二三区精品福利视频| 国产视频精品免费播放| 亚洲精品欧美日韩| 亚洲欧美日韩国产综合精品二区| 国产一区二区三区四区在线观看|