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

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>
            亚洲图片激情小说| 老司机精品视频网站| 亚洲欧洲99久久| 午夜精品免费在线| 午夜一区二区三区不卡视频| 午夜精品久久久久久久99热浪潮| 午夜欧美大片免费观看| 久久久久成人精品| 亚洲第一二三四五区| 亚洲国产精品精华液2区45| 99精品视频免费观看视频| 亚洲一区二区av电影| 久久xxxx| 欧美色视频在线| 国产美女精品视频免费观看| 一区久久精品| 亚洲欧美国产精品va在线观看| 久久国产一二区| 亚洲国产欧美精品| 亚洲一区二区免费视频| 久久综合狠狠| 国产精品久久久久影院亚瑟| 在线成人欧美| 亚洲欧洲在线播放| 欧美亚洲一区在线| 久久本道综合色狠狠五月| 欧美阿v一级看视频| 日韩午夜在线播放| 亚洲欧美在线aaa| 欧美日韩1234| 在线成人av.com| 性做久久久久久久久| 亚洲欧洲美洲综合色网| 久久精精品视频| 欧美性片在线观看| 亚洲国产成人tv| 欧美综合国产精品久久丁香| 欧美激情视频网站| 久久精品亚洲精品国产欧美kt∨| 欧美系列电影免费观看| 亚洲裸体在线观看| 免费看亚洲片| 午夜视频久久久| 欧美日在线观看| 一区二区久久| 亚洲人成网站777色婷婷| 久久久久久网| 伊人激情综合| 久久久夜精品| 久久久精品免费视频| 国产亚洲欧美一区二区三区| 亚洲欧美一区在线| 一区二区免费在线播放| 欧美精品一区二区三区久久久竹菊 | 欧美freesex8一10精品| 亚洲图片在区色| 欧美日韩国产在线看| 亚洲成色最大综合在线| 美女精品视频一区| 久久久国产精品一区二区中文 | 亚洲国产专区| 免费不卡在线观看| 久久综合色婷婷| 激情综合色综合久久| 老司机67194精品线观看| 欧美自拍偷拍| 在线观看国产精品淫| 欧美激情亚洲国产| 欧美激情第10页| 一区二区三区毛片| 中日韩视频在线观看| 国产精品久久久久久久久搜平片| 伊人色综合久久天天| 嫩草伊人久久精品少妇av杨幂| 久久久国产成人精品| 亚洲精品护士| 午夜在线视频一区二区区别| 宅男噜噜噜66一区二区66| 亚洲午夜精品久久久久久app| 欧美成人中文字幕| 亚洲美女在线国产| 欧美激情国产日韩| 欧美成年人视频网站| 亚洲国产精品悠悠久久琪琪| 久久一区二区三区国产精品| 久久精品网址| 亚洲欧洲精品成人久久奇米网| 免费观看成人鲁鲁鲁鲁鲁视频| 六月婷婷一区| 亚洲综合电影| 欧美一区二区日韩一区二区| 在线观看欧美日韩国产| 91久久精品美女高潮| 欧美激情一区二区三区在线| 亚洲自拍偷拍福利| 久久精品国产999大香线蕉| 在线观看日韩www视频免费| 亚洲激情电影在线| 国产精品久久久久久久app| 久久免费国产| 国产精品成人在线观看| 浪潮色综合久久天堂| 欧美激情1区2区| 久久精品亚洲一区二区| 欧美精品播放| 久久一区二区三区av| 欧美日韩中文在线| 久久视频国产精品免费视频在线| 欧美精品国产精品日韩精品| 久久精品理论片| 欧美日韩成人一区二区| 久久一区二区三区四区五区| 欧美性感一类影片在线播放| 欧美国产日韩精品免费观看| 国产婷婷色一区二区三区在线 | 亚洲欧美日本国产专区一区| 久久9热精品视频| 亚洲一二三四区| 欧美高清在线播放| 男女精品网站| 伊人男人综合视频网| 亚洲男女自偷自拍| 亚洲欧美日韩久久精品 | 在线观看亚洲精品| 午夜国产精品视频| 亚洲欧美国产日韩天堂区| 欧美黄色免费网站| 欧美国产一区视频在线观看| 国产一区视频在线观看免费| 免费亚洲电影| 在线观看精品一区| 亚洲——在线| 亚洲在线第一页| 欧美日韩一区二区三区在线| 亚洲国内高清视频| 亚洲日韩中文字幕在线播放| 免费观看30秒视频久久| 女人香蕉久久**毛片精品| 韩国自拍一区| 久久一区视频| 欧美风情在线| 亚洲国产精品成人精品| 美乳少妇欧美精品| 91久久精品国产| 亚洲午夜精品网| 国产精品视频在线观看| 午夜伦理片一区| 久久久久久久综合色一本| 国内一区二区在线视频观看| 久久久久久国产精品mv| 欧美国产精品| 99精品免费网| 欧美亚洲成人精品| 亚洲一区二区三区视频| 久久se精品一区精品二区| 精品91久久久久| 欧美成年人视频网站| 一区二区三区四区精品| 久久成人精品无人区| 在线播放中文字幕一区| 欧美区二区三区| 亚洲欧美中文字幕| 蜜臀久久久99精品久久久久久| 亚洲日本在线观看| 欧美午夜精品一区| 欧美一区二区视频在线| 欧美国产日韩亚洲一区| 中文日韩在线| 国产亚洲欧美日韩美女| 欧美波霸影院| 校园春色国产精品| 欧美激情精品久久久久久蜜臀| 亚洲影音先锋| 亚洲第一区在线| 国产精品久久久久久久久| 久久蜜桃香蕉精品一区二区三区| 亚洲精品影院| 久久久久综合| 亚洲天天影视| 亚洲高清久久| 国产视频欧美视频| 欧美日韩成人综合天天影院| 久久精品亚洲一区二区三区浴池 | 亚洲无限av看| 欧美大片在线观看一区二区| 欧美亚洲视频一区二区| 亚洲国产一区二区三区高清| 国产精品久久久久av| 欧美大片在线观看| 久久精品免费观看| 亚洲一区二区三区四区中文| 亚洲国产一区二区三区青草影视 | 99国产一区二区三精品乱码| 黄色日韩在线| 国产欧美日本在线| 欧美日韩一区二区视频在线观看| 老司机免费视频一区二区三区| 亚洲一区二区三区涩| 亚洲乱码久久| 亚洲国产美女久久久久|