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

題意:求出將上面的數字變成下面的數字所需的最少路數。變換方式只有“加”,“減”,“交換”三種。
一道很普通的廣搜題。用used[]記錄各節點的層數,以及判斷該結點是否被訪問過(used[i] == 0 表示沒有訪問過。特別注意初始節點的層數為0,但它被訪問過,因此要特殊處理一下。)
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#define LEN 10010
#include
<queue>
using namespace std;
char Add(char a)
{
    
if(a == '9')    
        
return '1';
    
else    
        
return a + 1;
}

char Sub(char a)
{
    
if(a == '1')    
        
return '9';
    
else    
        
return a - 1;
}

int StrToNum(char * s)
{
    
int len = strlen(s);
    
int i;
    
int sum = 0;
    
for(i = 0; i < len; i++)
    
{
        sum 
= sum * 10 + s[i] - '0';
    }

    
return sum;
}

int used[LEN];
int main()
{
    
int i, j;
    
int T;
    
int find;
    
char N[6], M[6], t[6];
    queue
<char*> q;
    scanf(
"%d"&T);
    
for(i = 0; i < T; i++)
    
{
        scanf(
"%s", N);
        scanf(
"%s", M);
        find 
= 0;
        
for(j = 0; j < LEN; j++)
            used[j] 
= 0;
        q.push(N);
        
if(strcmp(N, M) == 0)
            find 
= 1;
        used[StrToNum(N)] 
= 1;
        
while(!find)
        
{
            strcpy(t, q.front());
            q.pop();
            
int tn0 = StrToNum(t);
            
for(j = 0; j < 4 && !find; j++)
            
{
                
char *t2 = (char*)malloc(sizeof(char* 6);
                strcpy(t2, t);
                t2[j] 
= Add(t2[j]);
                
int tn = StrToNum(t2);
                
                
if(strcmp(t2, M) == 0)
                
{
                    find 
= 1;
                    used[tn] 
= used[tn0] + 1;
                    free(t2);
                }

                
else if(!used[tn])
                
{
                    q.push(t2);
                    used[tn] 
= used[tn0] + 1;
                }

                
else
                    free(t2);
            }

            
for(j = 0; j < 4 && !find; j++)
            
{
                
char *t2 = (char*)malloc(sizeof(char* 6);
                strcpy(t2, t);
                t2[j] 
= Sub(t2[j]);

                
int tn = StrToNum(t2);
                
                
if(strcmp(t2, M) == 0)
                
{
                    find 
= 1;            
                    used[tn] 
= used[tn0] + 1;
                    free(t2);
                }

                
else if(!used[tn])
                
{
                    q.push(t2);
                    used[tn] 
= used[tn0] + 1;
                }

                
else
                    free(t2);
            }

            
for(j = 0; j < 3 && !find; j++)
            
{
                
char *t2 = (char*)malloc(sizeof(char* 6);
                strcpy(t2, t);
                
char ct = t2[j];
                t2[j] 
= t2[j + 1];
                t2[j 
+ 1= ct;

                
int tn = StrToNum(t2);
                
                
if(strcmp(t2, M) == 0)
                
{
                    find 
= 1;
                    used[tn] 
= used[tn0] + 1;
                    free(t2);
                }

                
else if(!used[tn])
                
{
                    q.push(t2);
                    used[tn] 
= used[tn0] + 1;
                }

                
else
                    free(t2);
            }
            
        }

        
while(!q.empty())
        
{
            
//free(q.front());
            q.pop();
        }

        printf(
"%d\n", used[StrToNum(M)] - 1);
    }

    
return 0;
}
posted on 2012-03-29 00:02 小鼠標 閱讀(187) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

隨筆分類(111)

隨筆檔案(127)

friends

最新評論

  • 1.?re: 線段樹
  • 是這個樣子的,所以在OJ有時候“卡住”了也不要太灰心,沒準真的不是自己的原因呢。
    加油,祝你好運啦!
  • --小鼠標
  • 2.?re: 線段樹
  • 對于編程競賽來說,Java所需時間一般為C/C++的兩倍。合理的競賽給Java的時間限制是給C/C++的兩倍。
  • --傷心的筆
  • 3.?re: poj1273--網絡流
  • 過來看看你。
  • --achiberx
  • 4.?re: (轉)ubuntu11.10無法啟動無線網絡的解決方法
  • 膜拜大神。。查了一個下午資料終于在這里解決了問題。。神牛說的區域賽難道是ACM區域賽。。?
  • --Hang
  • 5.?re: 快速排序、線性時間選擇
  • 博主,謝謝你的文章。你的方法可以很好的處理分區基準在數組中重復的情況,書上的方法遇到這種輸入會堆棧溢出。書上給出了解釋但給的方法貌似不簡潔。
  • --lsxqw2004

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线| 国产精品chinese| 国产精品色在线| 伊人久久综合97精品| 99精品国产热久久91蜜凸| 亚洲综合久久久久| 老司机午夜精品| 久久精彩免费视频| 欧美精品二区| 国产在线成人| 一区二区三区国产精华| 亚洲国产欧美日韩精品| 亚洲欧美日韩中文在线制服| 老司机午夜精品视频在线观看| 欧美母乳在线| 在线欧美不卡| 欧美在线在线| 一本一本久久a久久精品综合妖精| 欧美怡红院视频| 狠狠综合久久av一区二区老牛| 亚洲视屏在线播放| 亚洲色在线视频| 欧美女主播在线| 亚洲视频欧美在线| 亚洲嫩草精品久久| 激情欧美日韩| 久久精品一二三区| 久久综合久久综合这里只有精品 | 欧美一区二区三区另类| 欧美韩日一区二区| 狠狠操狠狠色综合网| 欧美不卡视频一区发布| 亚洲综合成人在线| 一区在线播放视频| 亚洲精品一区二区网址| 免费中文字幕日韩欧美| 一区二区三区在线免费观看| 欧美激情1区2区| 老巨人导航500精品| 一级日韩一区在线观看| 亚洲国产精品久久久| 欧美午夜不卡在线观看免费| 久久亚洲一区二区三区四区| 欧美在线观看一区二区| 亚洲人午夜精品免费| 亚洲大片精品永久免费| 国产精品视频99| 欧美黄色成人网| 国产精品剧情在线亚洲| 欧美一级专区免费大片| 麻豆成人av| 亚洲国产婷婷香蕉久久久久久99 | 在线一区日本视频| 136国产福利精品导航| 亚洲天堂偷拍| 国产伦精品一区二区三区在线观看 | 最新亚洲电影| 欧美va亚洲va香蕉在线| 欧美一区二区三区精品电影| 免费在线看一区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲愉拍自拍另类高清精品| 国产精品夜色7777狼人| 亚洲高清中文字幕| 精品99视频| 久久国产精品亚洲va麻豆| 亚洲在线免费| 欧美性大战久久久久| 亚洲日韩欧美视频一区| 国产精品久久久久久久久久久久久| 在线亚洲自拍| 女人天堂亚洲aⅴ在线观看| 欧美资源在线观看| 国产精品久线观看视频| 亚洲婷婷免费| 亚洲欧美日韩在线高清直播| 久久gogo国模啪啪人体图| 在线一区二区三区四区| 欧美精品高清视频| 亚洲国产裸拍裸体视频在线观看乱了| 国产亚洲在线| 欧美激情第一页xxx| 在线观看视频一区二区| 欧美一级播放| 久久久久久久一区二区三区| 国产香蕉久久精品综合网| 午夜精品久久久久99热蜜桃导演| 欧美一区视频| 韩国三级在线一区| 免费观看日韩av| 91久久精品视频| 一区二区三区福利| 国产精品日韩| 久久久久综合网| 午夜视黄欧洲亚洲| 1769国产精品| 亚洲一本大道在线| 国产精品久久综合| 欧美诱惑福利视频| 欧美激情国产高清| 亚洲午夜精品久久| 国产欧美一区二区视频| 亚洲电影激情视频网站| 亚洲欧洲精品一区二区三区不卡 | 久久亚洲精品伦理| 亚洲一区二区三区免费在线观看| 欧美精品一区二区三区蜜桃 | 国产专区精品视频| 欧美在线不卡| 亚洲欧洲一区二区天堂久久| 99热在线精品观看| 国产欧美在线观看一区| 久久婷婷成人综合色| 最新成人在线| 欧美在线观看视频在线| 亚洲国产日韩欧美| 国产精品亚洲片夜色在线| 久久午夜色播影院免费高清| 亚洲人午夜精品| 久久久久国内| 一区二区91| 国产一区白浆| 欧美日韩国产成人精品| 欧美va日韩va| 亚洲伊人伊色伊影伊综合网| 狠狠色综合日日| 欧美色欧美亚洲另类七区| 亚洲毛片在线看| 久久超碰97中文字幕| 亚洲乱码国产乱码精品精可以看 | 欧美体内谢she精2性欧美| 久久精品91久久香蕉加勒比| 一本色道久久加勒比88综合| 免费观看在线综合| 亚洲福利在线观看| 国产精品久久久久国产a级| 蜜臀久久99精品久久久画质超高清| 亚洲一区二区三区四区视频| 亚洲国产精品一区二区久| 久久久久高清| 欧美一区二区大片| 亚洲免费影视| 亚洲深爱激情| 一本大道久久a久久综合婷婷| 黄色日韩网站| 国产日韩欧美一区在线| 欧美四级电影网站| 欧美日韩不卡合集视频| 免费久久99精品国产| 久久久国产精品亚洲一区| 亚洲高清久久网| 久久久久一区二区| 欧美在线播放一区二区| 翔田千里一区二区| 一区二区在线视频播放| 国产精品久久久久久久久婷婷| 欧美电影免费网站| 一区二区三区欧美日韩| 亚洲第一区色| 欧美成人一二三| 午夜精品久久久久久久久久久久久 | 狠狠色丁香久久婷婷综合丁香| 国产精品外国| 国产欧美一区二区三区沐欲| 国产精品日韩专区| 国产区亚洲区欧美区| 国产亚洲免费的视频看| 国产一区导航| 亚洲电影一级黄| 亚洲每日更新| 国产精品99久久久久久白浆小说 | 亚洲国产影院| 亚洲人成高清| 在线视频你懂得一区| 日韩一区二区精品| 国产精品免费看片| 国产精品xnxxcom| 国产精品视频免费在线观看| 国产伦精品一区二区三区在线观看 | 午夜日韩电影| 久久天天躁狠狠躁夜夜爽蜜月| 裸体一区二区| 亚洲激情欧美激情| 一区二区三区导航| 亚洲免费在线看|