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

				
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>
            在线观看亚洲视频啊啊啊啊| 欧美在线三级| 欧美综合国产精品久久丁香| 亚洲在线1234| 亚洲欧美日韩综合aⅴ视频| 亚洲图片在线| 欧美一区二区三区婷婷月色 | 美日韩精品视频免费看| 久久裸体视频| 亚洲第一视频网站| 亚洲成在线观看| 洋洋av久久久久久久一区| 亚洲欧美激情一区二区| 久久中文字幕一区| 欧美偷拍另类| 狠狠色综合日日| 99这里只有精品| 久久精品亚洲乱码伦伦中文| 欧美高清hd18日本| 亚洲天堂av在线免费观看| 久久成人国产| 欧美日韩一二区| 禁久久精品乱码| 亚洲午夜免费福利视频| 久久综合一区| 亚洲免费婷婷| 欧美不卡一卡二卡免费版| 欧美性做爰毛片| 亚洲国产欧美日韩另类综合| 翔田千里一区二区| 亚洲国产精品尤物yw在线观看| 亚洲免费婷婷| 欧美日韩不卡合集视频| 狠狠色噜噜狠狠色综合久| 亚洲影视在线播放| 欧美黄色aaaa| 久久精品国产一区二区三区免费看| 欧美日韩久久| 亚洲国产91| 久久香蕉精品| 午夜亚洲福利在线老司机| 国产精品v日韩精品| 91久久国产自产拍夜夜嗨| 久久久国产成人精品| 亚洲欧美www| 国产精品久久久久久久浪潮网站| 日韩午夜av电影| 欧美激情中文不卡| 另类专区欧美制服同性| 狠狠色丁香婷综合久久| 久久成人免费日本黄色| 亚洲性感激情| 国产欧美二区| 久久久精品日韩| 欧美一区二区黄| 国产欧美日韩亚州综合| 亚洲欧美亚洲| 亚洲欧美日本国产专区一区| 国产精品高清一区二区三区| 在线亚洲高清视频| 亚洲美女在线观看| 欧美精品一区二区三区蜜桃| 99视频在线观看一区三区| 亚洲精品资源美女情侣酒店| 欧美日本精品| 亚洲一区二区久久| 一区二区免费在线播放| 99精品国产在热久久婷婷| 欧美日韩国产页| 亚洲视频在线免费观看| 在线视频亚洲一区| 国产精品主播| 久久视频在线看| 美女主播一区| 亚洲免费福利视频| 99热在这里有精品免费| 国产精品美女xx| 久久男女视频| 欧美日本精品| 欧美专区第一页| 久久婷婷国产综合精品青草| 亚洲人体大胆视频| 亚洲午夜av| 精品99一区二区| 亚洲欧洲精品一区二区三区不卡 | 欧美va天堂va视频va在线| 亚洲欧洲在线免费| 一区二区福利| 国产一区二区三区在线播放免费观看 | 国产一区免费视频| 欧美成人69| 欧美视频久久| 久久综合一区二区| 欧美日韩免费精品| 久久精品一本| 欧美大片免费观看| 久久激情五月婷婷| 欧美久久久久久久| 久久米奇亚洲| 欧美日韩午夜| 免费看的黄色欧美网站| 欧美香蕉视频| 欧美激情在线有限公司| 国产乱理伦片在线观看夜一区| 亚洲国产精品久久久久久女王| 国产伦一区二区三区色一情| 亚洲国产成人av在线| 国产女主播视频一区二区| 91久久中文字幕| 精品动漫3d一区二区三区| 一区二区三区不卡视频在线观看 | 美女福利精品视频| 先锋影音网一区二区| 欧美电影免费观看高清完整版| 亚洲免费综合| 欧美激情第三页| 久久中文字幕导航| 国产精品入口尤物| 亚洲免费观看在线观看| 亚洲第一黄色| 久久成人久久爱| 午夜精品一区二区三区电影天堂| 欧美久色视频| 亚洲精品美女| 欧美专区在线| 欧美一区高清| 国产精品国产三级国产专播精品人| 欧美不卡三区| 激情婷婷亚洲| 久久精品国产综合| 久久亚洲风情| 狠狠久久亚洲欧美专区| 久久国产加勒比精品无码| 先锋a资源在线看亚洲| 欧美日韩亚洲国产一区| 日韩视频在线一区二区三区| 99国产精品私拍| 欧美另类视频| 中日韩男男gay无套 | 亚洲激情第一区| 亚洲精品日韩激情在线电影| 久久综合色婷婷| 欧美成人精品福利| 亚洲国产一成人久久精品| 蜜桃久久av一区| 亚洲激情国产| 亚洲午夜精品久久久久久app| 欧美日韩国产在线一区| 在线午夜精品自拍| 久久精品理论片| 在线电影国产精品| 欧美高清视频在线播放| 亚洲精品中文字幕有码专区| 亚洲欧美精品一区| 国产日韩成人精品| 欧美在线国产| 欧美护士18xxxxhd| 亚洲午夜电影在线观看| 国产免费一区二区三区香蕉精| 欧美专区在线| 亚洲美女精品成人在线视频| 欧美亚洲专区| 亚洲国产成人在线视频| 欧美色中文字幕| 久久久久久亚洲精品不卡4k岛国| 亚洲高清av| 亚洲深夜影院| 国产一区二区三区最好精华液| 久热国产精品| 中文亚洲免费| 麻豆精品国产91久久久久久| 一区二区三区回区在观看免费视频| 国产精品一区二区久久国产| 久久国产精品久久久| 亚洲高清成人| 久久不射中文字幕| 亚洲三级性片| 国产午夜久久久久| 欧美日韩亚洲一区| 麻豆精品精华液| 亚洲欧美卡通另类91av| 亚洲欧洲综合另类在线| 久久久精品2019中文字幕神马| 亚洲国产精品一区制服丝袜| 国产精品人人做人人爽人人添| 狂野欧美一区| 欧美一区二区成人6969| 一区二区三区视频在线播放| 欧美国内亚洲| 久久久久在线| 亚洲欧美在线看| 夜夜嗨网站十八久久| 亚洲电影免费观看高清完整版在线 | 亚洲日本中文字幕免费在线不卡| 欧美一区二区三区日韩视频| 亚洲毛片在线免费观看| 黄色成人av网| 国产亚洲福利| 国产精品网站在线观看| 国产精品乱子久久久久|