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

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>
            亚洲精品欧美日韩专区| 快播亚洲色图| 国产精品一区二区男女羞羞无遮挡| 欧美国产一区二区在线观看 | 久久久综合免费视频| 亚洲欧洲精品一区二区| 日韩视频精品在线观看| 在线观看成人小视频| 狠狠色狠色综合曰曰| 激情婷婷亚洲| 亚洲国产aⅴ天堂久久| 91久久亚洲| 亚洲人成免费| 宅男在线国产精品| 亚洲综合成人婷婷小说| 午夜精品美女自拍福到在线 | 亚洲视频导航| 久久成人资源| 亚洲在线中文字幕| 久久激情一区| 欧美黄色影院| 亚洲免费在线| 欧美freesex交免费视频| 欧美日韩中文字幕在线视频| 国产精品自拍视频| 亚洲精选一区二区| 久久国产毛片| 影音先锋亚洲电影| 亚洲一区尤物| 亚洲精品一区二区三区在线观看| 亚洲一区免费观看| 国产精品电影观看| 夜夜狂射影院欧美极品| 美女爽到呻吟久久久久| 午夜精品久久久久久久男人的天堂 | 亚洲精品美女在线观看| 欧美福利在线| 亚洲男人影院| 国产视频一区免费看| 在线视频欧美日韩| 亚洲国产日韩欧美一区二区三区| 欧美一区成人| 国产视频精品免费播放| 午夜久久tv| 久久香蕉国产线看观看av| 欧美高清视频在线播放| 久久五月天婷婷| 久久大逼视频| 亚洲精一区二区三区| 亚洲国产精品一区在线观看不卡| 久久久久久69| 亚洲精选视频在线| 亚洲最黄网站| 国产日韩亚洲欧美精品| 久久久久久**毛片大全| 久久久久久久久一区二区| 亚洲片国产一区一级在线观看| 久久久久在线| 久久国产精品毛片| 久久久久国产精品一区| 亚洲激情在线观看视频免费| 日韩一级黄色片| 国内欧美视频一区二区| 亚洲黄一区二区三区| 国产精品久久久亚洲一区| 免费久久99精品国产自| 国产精品久在线观看| 免费久久99精品国产自| 国产精品久久久久久久久动漫| 久久久久亚洲综合| 国产女人水真多18毛片18精品视频| 女女同性精品视频| 老司机午夜免费精品视频| 亚洲中字在线| 欧美日韩国产999| 免费精品99久久国产综合精品| 欧美日韩大片| 亚洲最新色图| 欧美亚洲自偷自偷| 欧美日韩一区二区三区在线观看免| 久久综合中文| 亚洲国产裸拍裸体视频在线观看乱了中文| 99精品国产在热久久| 亚洲人成在线影院| 欧美成年人视频| 99re66热这里只有精品4| 亚洲国产你懂的| 欧美激情精品久久久久久黑人| 欧美成在线观看| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲欧美久久久| 欧美另类一区| 亚洲亚洲精品在线观看 | 亚洲一区www| 午夜精品在线视频| 国产真实久久| 欧美激情亚洲国产| 亚洲欧美偷拍卡通变态| 蜜臀av性久久久久蜜臀aⅴ| 亚洲最黄网站| 欧美日本国产一区| 亚洲欧美www| 亚洲福利视频网| 午夜国产精品影院在线观看| 国产精品日日摸夜夜添夜夜av| 久久精品国产视频| 亚洲一区二区久久| 91久久香蕉国产日韩欧美9色| 羞羞漫画18久久大片| 亚洲国产精品久久久久秋霞影院| 欧美日韩国产综合新一区| 小黄鸭视频精品导航| 日韩视频中午一区| 亚洲日产国产精品| 亚洲国产精品福利| 欧美国产精品v| 另类激情亚洲| 欧美成人嫩草网站| 免费久久99精品国产自| 久久久午夜精品| 久久在线视频| 欧美激情视频一区二区三区免费 | 亚洲影院在线| 午夜精品久久久久久久久久久久 | 亚洲三级影片| 亚洲三级性片| 9l国产精品久久久久麻豆| 国产字幕视频一区二区| 狠狠久久五月精品中文字幕| 国产欧美一区二区三区在线看蜜臀 | 中文日韩在线视频| 亚洲综合精品四区| 久久色在线观看| 日韩一区二区精品在线观看| 久久综合久久88| 欧美午夜一区二区| 欧美精品成人一区二区在线观看 | 国产精品福利片| 国产精品一区二区久久国产| 国产乱码精品| 一区二区久久久久久| 久久精品论坛| 国产精品第一区| 亚洲国产岛国毛片在线| 日韩视频不卡| 欧美国产日韩精品| 亚洲免费综合| 欧美精品免费看| 亚洲高清在线| 欧美jizzhd精品欧美喷水| 一本色道久久综合亚洲二区三区| 亚洲黄网站黄| 久久久久国产精品人| 一区二区三区日韩精品| 免费视频一区二区三区在线观看| 国产精品久久久久一区二区| 一级成人国产| 日韩视频永久免费| 美腿丝袜亚洲色图| 亚洲久久在线| 亚洲精品视频在线观看免费| 美日韩在线观看| 亚洲欧洲三级电影| 亚洲日本va午夜在线电影| 欧美精品久久久久久久| 日韩一二三在线视频播| 亚洲美女淫视频| 国产美女精品免费电影| 久久天天躁狠狠躁夜夜爽蜜月 | 欧美一区二区三区四区在线| 一本久久综合亚洲鲁鲁| 欧美激情亚洲一区| 亚洲欧美精品中文字幕在线| 欧美亚洲一区| 亚洲最快最全在线视频| 午夜精品影院在线观看| 亚洲国产精品va在线观看黑人| 欧美xx视频| 国产日韩成人精品| 亚洲欧洲另类| 国外成人免费视频| 亚洲国产人成综合网站| 国产日韩一区二区三区| 亚洲电影天堂av| 国产一区二区三区最好精华液| 亚洲国产精品悠悠久久琪琪| 国产精品久久久久久久久婷婷| 久久伊人精品天天| 国产精品久久久久久一区二区三区| 久久只精品国产| 国产精品青草久久久久福利99| 亚洲国产精品一区二区第一页| 国产精品网站在线观看| 亚洲精品久久久久中文字幕欢迎你| 国产深夜精品| 亚洲一区日本| 国产精品成人v| 午夜精品福利一区二区三区av | 99精品福利视频| 欧美福利一区二区三区|