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

題意:求出將上面的數字變成下面的數字所需的最少路數。變換方式只有“加”,“減”,“交換”三種。
一道很普通的廣搜題。用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   管理


<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

隨筆分類(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老司机精品网站导航| 久久综合一区| 国产精品激情电影| 精品69视频一区二区三区| 亚洲精品国产欧美| 亚洲一区在线免费| 久久噜噜噜精品国产亚洲综合| 欧美成人精品在线| 99精品免费| 久久蜜臀精品av| 国产精品成人一区二区三区夜夜夜| 国产精品视频不卡| 亚洲黄色av| 午夜久久tv| 99一区二区| 日韩一级二级三级| 午夜精品一区二区在线观看| 久久精品国产一区二区三区| 欧美—级a级欧美特级ar全黄| 国产精品一区二区久久久久 | 欧美高清视频一二三区| 国产精品久久999| 亚洲日本免费| 久久人人看视频| 亚洲视频电影图片偷拍一区| 久久婷婷综合激情| 国产精品永久免费观看| 99ri日韩精品视频| 美女黄毛**国产精品啪啪 | 在线视频你懂得一区| 久久久久久久999| 国产精品视频xxxx| 亚洲午夜女主播在线直播| 欧美高清一区二区| 久久精品在线| 国产日韩欧美电影在线观看| 99成人在线| 欧美激情亚洲国产| 久久麻豆一区二区| 国产曰批免费观看久久久| 欧美一进一出视频| 99在线热播精品免费| 欧美国产日产韩国视频| 在线欧美一区| 欧美a级理论片| 久久伊人亚洲| 在线观看的日韩av| 久久一区国产| 久久影院亚洲| 亚洲精品裸体| 欧美激情一区二区三区在线视频| 亚洲综合国产| 国产精品午夜电影| 久久黄金**| 久久久福利视频| 亚洲国产婷婷综合在线精品| 欧美不卡在线| 欧美激情精品久久久久久久变态| 亚洲激情视频在线观看| 亚洲黑丝在线| 欧美日韩久久| 亚洲综合首页| 香蕉乱码成人久久天堂爱免费| 国产精品视频午夜| 久久亚洲免费| 欧美成人一区在线| 这里只有精品视频在线| 亚洲一区日韩在线| 国内精品一区二区| 亚洲国产精品va在线看黑人动漫| 欧美精品在线观看播放| 亚洲在线观看免费| 欧美中文在线免费| 欧美一区2区视频在线观看| 欧美三级电影一区| 亚洲欧美在线免费观看| 久久精品色图| 亚洲三级观看| 国产精品乱码一区二三区小蝌蚪| 国产精品99久久久久久宅男| 久久综合色综合88| 午夜欧美不卡精品aaaaa| 一区在线免费| 国产精品久久久久免费a∨大胸| 久久成人精品| 亚洲区欧美区| 免费在线观看精品| 亚洲免费一区二区| 中日韩高清电影网| 亚洲美女区一区| 亚洲电影在线看| 国产日韩欧美综合| 国产精品一区二区你懂得| 欧美极品在线播放| 美女视频黄a大片欧美| 欧美在线观看一区二区三区| 亚洲精品一级| 亚洲精品美女在线观看播放| 久久美女性网| 另类尿喷潮videofree| 久久国产精品99久久久久久老狼 | 狠狠爱www人成狠狠爱综合网| 欧美在线在线| 久久国内精品自在自线400部| 亚洲一区二区三区在线视频| 中日韩高清电影网| 亚洲午夜久久久| 亚洲精品一线二线三线无人区| 悠悠资源网亚洲青| 影音先锋亚洲精品| 国产婷婷色一区二区三区在线| 国产精品羞羞答答| 国产亚洲精品久久久久动| 国产亚洲aⅴaaaaaa毛片| 在线观看欧美精品| 最近中文字幕日韩精品| 这里只有精品在线播放| 亚洲欧美偷拍卡通变态| 久久亚洲不卡| 亚洲国产欧美一区二区三区久久| 亚洲黄色尤物视频| 久久精品免视看| 欧美日本中文字幕| 狠狠爱综合网| 久久久久高清| aa亚洲婷婷| 欧美成人免费大片| 欧美黑人多人双交| 亚洲精品视频免费| 亚洲一区二区三区高清| 久久只有精品| 国内精品99| 久久青青草综合| 欧美一区二区视频在线| 欧美三级在线视频| 亚洲无限乱码一二三四麻| 欧美国产极速在线| 可以看av的网站久久看| 国产亚洲一区在线播放| 久久激情一区| 久久精品国产一区二区电影| 国产精品视频久久| 久久精品国产欧美亚洲人人爽| 亚洲视频你懂的| 国产九九视频一区二区三区| 一个人看的www久久| 亚洲日本中文| 国产精品入口福利| 免费h精品视频在线播放| 美女诱惑一区| 亚洲在线观看免费| 在线视频日韩精品| 亚洲欧美中文字幕| 亚洲第一精品电影| 在线亚洲精品| 亚洲国产成人久久| 国产日产欧美a一级在线| 欧美激情va永久在线播放| 欧美日韩亚洲综合一区| 久久精品国产久精国产爱| 巨胸喷奶水www久久久免费动漫| 亚洲毛片在线| 欧美中文在线视频| 韩国一区电影| 亚洲午夜精品| 一本色道久久综合亚洲精品小说| 亚洲欧美日韩国产综合在线| 亚洲黄网站在线观看| 久久精品国产第一区二区三区| 一本色道久久综合亚洲精品不卡| 新狼窝色av性久久久久久| 亚洲一区二区黄色| 欧美日韩亚洲高清| 亚洲精品中文字幕在线| 最新亚洲一区| 免费视频一区二区三区在线观看| 欧美在线免费观看视频| 国产精品黄色在线观看| 99国产精品99久久久久久粉嫩| 亚洲国产小视频| 久久免费视频网| 亚洲第一狼人社区| 亚洲精品久久久久久久久久久久 | 免费高清在线一区| 欧美激情一区二区三区在线视频 | 99精品视频免费观看视频| 欧美精品久久天天躁| 亚洲人成在线播放网站岛国| 一区二区三区欧美视频| 国产精品乱码一区二区三区| 亚洲欧美影音先锋|