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

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 閱讀(435) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 搜索
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲人成久久| 亚洲欧洲在线观看| 久久蜜桃精品| 久久精品在线观看| 久久久综合网| 欧美成人在线影院| 欧美日韩不卡| 国产日韩精品一区| 在线观看av不卡| 99在线|亚洲一区二区| 亚洲一卡二卡三卡四卡五卡| 欧美一区二区三区另类| 美女网站在线免费欧美精品| 亚洲国产小视频| 亚洲一品av免费观看| 久久精品99久久香蕉国产色戒| 久久视频在线视频| 欧美日韩一区二区三区免费| 国产视频综合在线| 亚洲精品久久久久久久久久久久| 亚洲欧美经典视频| 欧美成人亚洲成人| 亚洲一区在线看| 欧美精品少妇一区二区三区| 国产欧美一二三区| 99精品国产热久久91蜜凸| 久久国产精品72免费观看| 亚洲国产一区二区a毛片| 亚洲欧美制服中文字幕| 欧美另类变人与禽xxxxx| 国精品一区二区| 亚洲欧美日韩一区二区三区在线| 欧美大片免费看| 午夜精品网站| 国产精品人成在线观看免费 | 日韩视频免费观看高清完整版| 欧美亚洲一区二区在线观看| 欧美激情在线| 国产日韩一区二区| 中文日韩在线| 久久亚洲综合色| 亚洲图片在线观看| 免费成人av资源网| 国产日韩欧美在线| 亚洲一区免费在线观看| 欧美高清你懂得| 久久久久久久国产| 国产一区二区三区久久| 午夜久久一区| 亚洲一区3d动漫同人无遮挡| 欧美日本中文字幕| 日韩一本二本av| 亚洲国产一区二区视频| 免费在线看成人av| 亚洲国产日韩欧美在线动漫| 麻豆成人综合网| 久久久久91| 在线观看不卡av| 欧美成人精品激情在线观看| 久久久久国产精品一区| 尤物在线精品| 欧美xart系列高清| 免费的成人av| 日韩视频免费观看高清完整版| 亚洲第一精品电影| 欧美激情视频在线免费观看 欧美视频免费一| 在线观看欧美精品| 欧美国产一区二区| 欧美另类99xxxxx| 亚洲尤物影院| 欧美一区二区三区婷婷月色 | 国产区精品视频| 久久精品导航| 久久欧美肥婆一二区| 在线精品国精品国产尤物884a| 久久中文字幕一区| 欧美激情精品久久久久久久变态| 99re6热只有精品免费观看| 亚洲国产精品一区二区三区| 欧美精品性视频| 亚洲资源在线观看| 欧美中文在线视频| 亚洲精品国久久99热| 亚洲视频一区二区在线观看 | 亚洲精品自在久久| 欧美午夜影院| 欧美在线亚洲在线| 男人的天堂成人在线| 亚洲一区二区高清视频| 欧美亚洲三区| 日韩一二三区视频| 羞羞色国产精品| 亚洲区一区二| 亚洲综合导航| 亚洲精品欧美| 欧美激情性爽国产精品17p| 亚洲在线网站| 亚洲国产欧美一区二区三区久久 | 欧美一区二区在线观看| 亚洲第一主播视频| 亚洲午夜视频在线观看| 亚洲国产欧美一区二区三区久久| 亚洲网址在线| 亚洲另类在线视频| 久久久国产视频91| 亚洲欧美日韩爽爽影院| 免费在线观看日韩欧美| 久久狠狠婷婷| 国产精品免费电影| 亚洲欧洲另类| 在线欧美日韩国产| 欧美一区二区精美| 午夜电影亚洲| 欧美视频在线免费| 91久久夜色精品国产九色| 激情久久一区| 欧美与黑人午夜性猛交久久久| 亚洲一品av免费观看| 欧美极品色图| 亚洲国产精品一区制服丝袜| 一区二区三区在线免费观看| 亚洲欧美日韩一区二区| 亚洲欧美日韩第一区| 欧美日韩国产一区精品一区| 欧美国产日韩精品免费观看| 在线观看日韩专区| 久久久国产精品一区| 久久久久五月天| 国产一区二区福利| 亚洲欧美日本国产有色| 亚洲欧美偷拍卡通变态| 国产精品高潮粉嫩av| av成人毛片| 亚洲永久免费观看| 国产精品久久一卡二卡| 亚洲午夜视频在线观看| 午夜影院日韩| 国产欧美一区二区精品仙草咪| 中文亚洲字幕| 欧美在线视频在线播放完整版免费观看 | 亚洲欧洲久久| 亚洲精品久久久久久久久久久久久| 久久夜色精品| 欧美激情一区二区三区蜜桃视频| 亚洲激情自拍| 欧美日韩不卡在线| 一区二区三区四区五区精品视频 | 亚洲综合精品自拍| 亚洲欧美精品伊人久久| 欧美日韩国产美| 亚洲精品日韩在线| 夜夜夜久久久| 欧美私人网站| 午夜亚洲激情| 久久综合五月| 亚洲精品久久久久中文字幕欢迎你 | 国产一区高清视频| 久久久精品国产一区二区三区| 美腿丝袜亚洲色图| 亚洲免费av观看| 国产精品久久久久一区二区三区共 | 久久都是精品| 亚洲国产高清一区二区三区| 欧美电影免费| 午夜在线一区| 欧美激情1区2区3区| 亚洲午夜av| 国语自产精品视频在线看一大j8 | 欧美亚州在线观看| 久久99在线观看| 亚洲麻豆av| 久久米奇亚洲| 一区二区三区国产| 国产亚洲一区在线| 欧美理论在线播放| 欧美在线啊v| 亚洲精选成人| 美女图片一区二区| 午夜在线精品| 99精品视频一区| 国产一区二三区| 国产精品成人aaaaa网站| 久久久爽爽爽美女图片| 一本色道久久综合一区| 男女精品视频| 欧美在线一二三区| 一本色道久久综合亚洲精品按摩 | 欧美日韩日本网| 久久久久久久波多野高潮日日| 一区二区91| 亚洲精品乱码久久久久久| 久久亚洲高清| 久久精品久久99精品久久| 亚洲专区免费| 亚洲午夜激情网站| 中国成人亚色综合网站| 日韩视频免费观看| 亚洲欧洲精品一区二区三区不卡 | 欧美午夜视频| 国产日韩综合一区二区性色av|