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

				
Problem description
There are two binary strings, their length is 8, you should change the first to the second through several approach. You need output the minimal steps to change them.
These are the approach legle:
1.Make the whole string one step to right,the first position should be '1'.
Example: 10001100---->11000110;
2.Change two character nearby.
Example: 10010001---->10001001;
3.Change four series '1' to '0',or four series '0' to '1'.If the series character longer than four,you can change any four series characters of them.
Example: 00111101---->00000001;10000011---->11111011;


Input
There are many test cases.Every test case contain two 8-binary string,division by space.


Output
Every line output a number for the minimal steps to change the two strings.


Sample Input
00011110 10000000
Sample Output
2
?
?
廣度搜索:
?
				
??1 #include? < iostream >
??2 #include? < queue >
??3 #include? < algorithm >
??4 using ? namespace ?std;
??5 bool ??mark[ 256 ];
??6 int ???binary[ 8 ] = {? 1 ,? 2 ,? 4 ,? 8 ,? 16 ,? 32 ,? 64 ,? 128 ?} ;
??7 struct ?Node
??8 {
??9 ???? int ???steps;
?10 ???? char ??states[ 9 ];
?11 ????Node()
?12 ???? {}
?13 ????Node(? int ?s,? char ?str[ 9 ]?)
?14 ????????:steps(s)
?15 ???? {
?16 ????????strcpy(?states,?str?);
?17 ????}

?18 }
;
?19 int ?getn(? char * ?str?)
?20 {
?21 ???? int ?total = ? 0 ;
?22 ???? for ?(? int ?i = ? 0 ;?i < ? 8 ;? ++ i?)
?23 ????????total += ?(?(?str[i] - ? ' 0 ' ?) * ?binary[ 7 - ?i]?);
?24 ???? return ?total;
?25 }

?26 int ?numof0(? char * ?str,? int & ?pos?)
?27 {
?28 ???? int ?max = ? 0 ;
?29 ???? int ?i = ? 0 ;
?30 ???? for ?(? int ?i = ? 0 ;?i <= ? 4 ;? ++ i?)
?31 ???? {
?32 ???????? int ?t = ?i;
?33 ???????? int ?total = ? 0 ;
?34 ???????? while ?(?str[t] == ? ' 0 ' ?)
?35 ???????? {
?36 ????????????t ++ ;
?37 ????????????total ++ ;
?38 ????????}

?39 ???????? if ?(?total > ?max?)
?40 ???????? {
?41 ????????????max = ?total;
?42 ????????????pos = ?i;
?43 ????????}

?44 ????}

?45 ???? return ?max;
?46 }

?47 int ?numof1(? char * ?str,? int & ?pos?)
?48 {
?49 ???? int ?max = ? 0 ;
?50 ???? int ?i = ? 0 ;
?51 ???? for ?(? int ?i = ? 0 ;?i <= ? 4 ;? ++ i?)
?52 ???? {
?53 ???????? int ?t = ?i;
?54 ???????? int ?total = ? 0 ;
?55 ???????? while ?(?str[t] == ? ' 1 ' ?)
?56 ???????? {
?57 ????????????t ++ ;
?58 ????????????total ++ ;
?59 ????????}

?60 ???????? if ?(?total > ?max?)
?61 ???????? {
?62 ????????????max = ?total;
?63 ????????????pos = ?i;
?64 ????????}

?65 ????}

?66 ???? return ?max;
?67 }

?68 int ?main()
?69 {
?70 ???? char ???source[ 9 ];
?71 ???? char ???dest[ 9 ];
?72 ???? while ?(?scanf( " %s%s " ,source,?dest) != ?EOF?)
?73 ???? {
?74 ????????queue < Node > ?q;
?75 ????????q.push?(?Node( 0 ,source)?);
?76 ????????memset(?mark,? false ,? sizeof (mark)?);
?77 ????????mark[?getn(source)?] = ? true ;
?78 ???????? while ?(? ! q.empty?()?)
?79 ???????? {
?80 ???????????? struct ?Node?head = ?q.front?();
?81 ???????????? char ???temp[ 9 ];
?82 ???????????? int ????n;
?83 ????????????q.pop?();
?84 ???????????? if ?(?strcmp(?head.states,?dest?) == ? 0 ?)
?85 ???????????? {
?86 ????????????????printf( " %d\n " ,head.steps?);
?87 ???????????????? break ;
?88 ????????????}

?89 ????????????
?90 ????????????strcpy(?temp,?head.states?);
?91 ???????????? for ?(? int ?i = ? 7 ;?i > ? 0 ;?i -- ?)
?92 ????????????????temp[i] = ?temp[i - 1 ];
?93 ????????????temp[ 0 ] = ? ' 1 ' ;
?94 ????????????n = ?getn(temp);
?95 ???????????? if ?(? ! mark[n]?)
?96 ???????????? {
?97 ????????????????q.push?(?Node(?head.steps + ? 1 ,?temp?)?);
?98 ????????????????mark[n] = ? true ;
?99 ????????????}

100 ???????????? for (? int ?i = ? 0 ;?i < ? 7 ;? ++ i?)
101 ???????????? {
102 ????????????????strcpy(?temp,?head.states?);
103 ???????????????? if ?(?temp[i] != ?temp[i + 1 ]?)
104 ???????????????? {
105 ????????????????????std::swap?(?temp[i],?temp[i + 1 ]?);
106 ????????????????????n = ?getn(temp);
107 ???????????????????? if ?(? ! mark[n]?)
108 ???????????????????? {
109 ????????????????????????q.push?(?Node(?head.steps + ? 1 ,?temp?)?);
110 ????????????????????????mark[n] = ? true ;
111 ????????????????????}

112 ????????????????}

113 ????????????}

114 ???????????? int ?pos;
115 ???????????? int ?num = ?numof0(?head.states,?pos?);
116 ???????????? if ?(?num >= ? 4 ?)
117 ???????????? {
118 ???????????????? for ?(? int ?i = ?pos;?i <= ?num - ? 4 + ?pos;? ++ i?)
119 ???????????????? {
120 ????????????????????strcpy(?temp,?head.states?);
121 ???????????????????? for ?(? int ?j = ?i;?j < ?i + ? 4 ;? ++ j?)
122 ????????????????????????temp[j] = ? ' 1 ' ;
123 ????????????????????n = ?getn(temp);
124 ???????????????????? if ?(? ! mark[n]?)
125 ???????????????????? {
126 ????????????????????????q.push?(?Node(?head.steps + ? 1 ,?temp?)?);
127 ????????????????????????mark[n] = ? true ;
128 ????????????????????}

129 ????????????????}
????
130 ????????????}

131 ????????
132 ????????????num = ?numof1(?head.states,?pos?);
133 ???????????? if ?(?num >= ? 4 ?)
134 ???????????? {????????
135 ???????????????? for ?(? int ?i = ?pos;?i <= ?num - ? 4 + ?pos;? ++ i?)
136 ???????????????? {
137 ????????????????????strcpy(?temp,?head.states?);
138 ???????????????????? for ?(? int ?j = ?i;?j < ?i + ? 4 ;? ++ j?)
139 ????????????????????????temp[j] = ? ' 0 ' ;
140 ????????????????????n = ?getn(temp);
141 ???????????????????? if ?(? ! mark[n]?)
142 ???????????????????? {
143 ????????????????????????q.push?(?Node(?head.steps + ? 1 ,?temp?)?);
144 ????????????????????????mark[n] = ? true ;
145 ????????????????????}

146 ????????????????}

147 ????????????}

148 ????????}
// ??while?q.empty();
149 ????}

150 ???? return ? 0 ;
151 }

152
posted on 2008-08-18 20:14 Darren 閱讀(296) 評論(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ⅴ人在线观看| 日韩写真在线| 亚洲伊人伊色伊影伊综合网| 亚洲一区日韩| 欧美专区亚洲专区| 久久婷婷蜜乳一本欲蜜臀| 免费成人激情视频| 欧美日韩国产成人在线| 国产精品久久久久久亚洲调教| 国产精品久久久久久户外露出| 国产欧美精品日韩| 亚洲日本激情| 欧美亚洲一级| 麻豆精品在线播放| 亚洲国产影院| 亚洲精品国产视频| 性色av一区二区三区| 久久综合电影一区| 国产精品成人免费| 精品99一区二区| 99在线精品观看| 欧美一区二区在线看| 免播放器亚洲一区| 一区二区三区欧美激情| 久久蜜桃精品| 国产精品一区在线播放| 亚洲看片网站| 久久久久亚洲综合| 洋洋av久久久久久久一区| 久久综合九色综合网站| 欧美日韩人人澡狠狠躁视频| 国产精品成人va在线观看| 国产亚洲精品自拍| 99精品视频一区| 久久久久久久久蜜桃| 亚洲毛片网站| 欧美成人中文字幕在线| 国产日韩欧美在线观看| 亚洲香蕉在线观看| 亚洲国产精品一区二区第一页| 小辣椒精品导航| 国产精品久久一卡二卡| 一区二区三区四区在线| 欧美成人影音| 久久另类ts人妖一区二区| 国产精品夜夜夜| 亚洲视频在线二区| 日韩视频欧美视频| 欧美精品自拍| 亚洲人成人一区二区在线观看 | 久久精品亚洲精品国产欧美kt∨| 欧美日韩成人精品| 亚洲精品专区| 亚洲国产成人精品久久久国产成人一区 | 久久人人97超碰精品888| 亚洲男人av电影| 欧美色图五月天| 亚洲欧美成人一区二区在线电影| 亚洲精品影视在线观看| 欧美日韩在线高清| 亚洲一级黄色片| 亚洲一区二区三| 国产女人精品视频| 久久久www免费人成黑人精品| 午夜精品在线看| 国产一区二区你懂的| 另类天堂视频在线观看| 欧美成人福利视频| 一本色道久久综合亚洲二区三区 | 亚洲女同同性videoxma| 亚洲一本大道在线| 国内精品久久久久久久果冻传媒| 欧美一级专区免费大片| 小辣椒精品导航| 亚洲高清免费视频| 亚洲精品视频在线播放| 国产精品啊v在线| 久久国产成人| 男人天堂欧美日韩| 亚洲在线黄色| 久久精品国产久精国产爱| 亚洲国产精品悠悠久久琪琪| 亚洲精品视频免费| 亚洲一区国产精品| 一本在线高清不卡dvd| 国产精品免费网站| 榴莲视频成人在线观看| 欧美福利电影网| 亚洲夜间福利| 欧美在线欧美在线| 妖精成人www高清在线观看| 这里只有精品视频在线| 黑人巨大精品欧美黑白配亚洲| 欧美大片91| 国产精品国产精品| 欧美国产精品v| 国产精品亚洲欧美| 亚洲乱码国产乱码精品精| 国内一区二区三区| 亚洲最新在线| 亚洲日本国产| 久久久www成人免费精品| 中日韩视频在线观看| 久久久亚洲国产天美传媒修理工 | 国产精品狠色婷| 欧美国产亚洲另类动漫| 国产精品一区毛片| 99精品国产在热久久| 亚洲国产精品www| 欧美在线国产| 欧美亚洲一区三区| 欧美亚日韩国产aⅴ精品中极品| 欧美第十八页| 一区免费在线| 先锋a资源在线看亚洲| 亚洲免费一在线| 欧美日韩午夜精品| 亚洲国产高清高潮精品美女| 国产综合色一区二区三区| 中文欧美日韩| 一区二区日韩伦理片| 欧美v日韩v国产v| 欧美大片在线观看一区| 一区二区在线观看av| 久久久久www| 久久久久久久一区二区| 国产精品亚洲综合色区韩国| 亚洲午夜视频在线观看| 亚洲欧美精品suv| 国产精品白丝黑袜喷水久久久| 亚洲精品久久久久久久久久久| 亚洲电影第三页| 久久一区中文字幕| 欧美福利一区| 亚洲国产成人精品久久| 久久亚洲精品伦理| 欧美大片在线观看一区| 亚洲第一免费播放区| 久久亚洲一区二区三区四区| 欧美黄色小视频| 亚洲理论在线| 欧美午夜精彩| 亚洲欧美激情一区二区| 久久久久久久久一区二区| 伊人成年综合电影网| 欧美成人a视频| 香港成人在线视频| 亚洲综合欧美日韩| 国产精品久久7| 欧美在线亚洲在线| 美女主播视频一区| 日韩视频免费观看高清在线视频| 欧美日韩国产首页在线观看| 一区二区三区日韩欧美精品| 欧美亚洲专区| 亚洲国产日韩综合一区| 欧美日韩成人在线| 亚洲免费伊人电影在线观看av| 久久久999精品免费| 亚洲国产美国国产综合一区二区| 欧美日韩国产不卡| 欧美亚洲综合在线| 欧美激情视频一区二区三区不卡| 在线亚洲一区观看| 国产日韩在线播放| 欧美高清免费| 午夜视频久久久| 亚洲精品日产精品乱码不卡| 欧美一区二区三区四区在线| 亚洲国产精品电影在线观看| 欧美午夜精品理论片a级按摩| 久久国产日本精品| 一本色道久久88亚洲综合88| 免费短视频成人日韩| 午夜精品福利视频| 亚洲精品视频中文字幕| 韩国av一区| 国产精品久久九九| 欧美激情亚洲国产| 久久精品91久久香蕉加勒比| 亚洲国产高清在线| 久久综合导航| 亚洲欧洲av一区二区三区久久| 亚洲欧洲在线免费| 一区二区三区在线观看欧美| 欧美四级在线观看| 欧美激情网友自拍| 免费黄网站欧美| 久久先锋资源| 久久久久久午夜| 先锋亚洲精品| 亚洲欧美日韩另类| 亚洲一级在线观看| 一区二区三区四区国产| 日韩天天综合| 亚洲精品久久嫩草网站秘色|