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

心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
題目大意是:在5×5的棋盤上有12個(gè)白子和12個(gè)黑子,另外有一個(gè)空格,白子或黑子可以按照騎士的行走方式走到空格位置。給定初始狀態(tài)和目標(biāo)狀態(tài),判斷是否能夠在10步(包含10步)以內(nèi)達(dá)到目標(biāo)狀態(tài)。
典型的BFS,但是迭代加深的DFS效率同樣很高,而且編程復(fù)雜度很低。在這里有一個(gè)優(yōu)化:比如當(dāng)前所做的搜索最大深度設(shè)定為maxdepth,比較當(dāng)前狀態(tài)和目標(biāo)狀態(tài)有多少處不同,結(jié)果假設(shè)為diff,則如果當(dāng)前深度depth+diff/2>maxdepth,則停止當(dāng)前搜索。比如有2處不同,那么最好情況就是2/2=1次轉(zhuǎn)移到目標(biāo)狀態(tài)。
以下是我的代碼:
#include<algorithm>
#include
<cstdio>
#include
<cstring>
using namespace std;
const char kTarget[5][5]={ {'1','1','1','1','1'},
                           {
'0','1','1','1','1'},
                           {
'0','0',' ','1','1'},
                           {
'0','0','0','0','1'},
                           {
'0','0','0','0','0'} };
const int dx[]={-2,-2,2,2,-1,1,-1,1},dy[]={-1,1,-1,1,-2,-2,2,2};

char r[5][5];
int ans;
bool success;

int Diff()
{
    
int re(0);
    
for(int i=0;i<5;i++)
        
for(int j=0;j<5;j++)
            re
+=(r[i][j]!=kTarget[i][j]);
    
return (re/2);
}

void dfs(int depth,int x,int y)
{
    
if(depth>=ans)
    {
        
if(memcmp(r,kTarget,25*sizeof(char))==0)
            success
=true;
        
return;
    }
    
//*
    if(depth+Diff()>ans)
        
return;
    
//*/
    for(int i=0;i<8 && !success;i++)
    {
        
int newx(x+dx[i]),newy(y+dy[i]);
        
if(newx<0 || newx>= 5 || newy<0 || newy>=5)
            
continue;
        swap(r[x][y],r[newx][newy]);
        dfs(depth
+1,newx,newy);
        swap(r[x][y],r[newx][newy]);
    }
}

int main()
{
    #ifndef ONLINE_JUDGE
    freopen(
"data.in","r",stdin);
    freopen(
"data.out","w",stdout);
    
#endif

    
int T;
    scanf(
"%d",&T);
    getchar();
    
while(T--)
    {
        
int x,y;
        
for(int i=0;i<5;i++)
        {
            
for(int j=0;j<5;j++)
            {
                scanf(
"%c",&r[i][j]);
                
if(r[i][j]==' ')
                {
                    x
=i;
                    y
=j;
                }
            }
            getchar();
        }

        success
=false;
        
for(ans=0;ans<=10;ans++)
        {
            dfs(
0,x,y);
            
if(success)
                
break;
        }

        
if(success)
            printf(
"Solvable in %d move(s).\n",ans);
        
else
            printf(
"Unsolvable in less than 11 move(s).\n");
    }

    
return 0;
}
posted on 2011-04-21 22:04 lee1r 閱讀(1293) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 題目分類:搜索

FeedBack:
# re: UVa 10422 Knights in FEN
2011-05-03 15:48 | Maw-Shang Chang
To help students learning programming, please don't post source codes for ACM online judge on your blog.
  回復(fù)  更多評(píng)論
  
# re: UVa 10422 Knights in FEN
2012-10-16 00:26 | AAAA_Li
您好 請(qǐng)問while語句中的T是指步數(shù)限制么???? 謝謝  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久青草欧美一区二区三区| 日韩视频在线一区二区三区| 卡通动漫国产精品| 国产精品亚洲аv天堂网| 午夜精品久久久久久久久久久久| 午夜精品亚洲| 一区二区三区自拍| 午夜国产精品影院在线观看| 亚洲一区二区在线视频| 欧美成人资源| 欧美亚洲免费电影| 91久久精品一区| 欧美精品videossex性护士| 亚洲欧美在线播放| 久久精品国产综合精品| 亚洲青涩在线| 麻豆91精品| 亚洲国产欧美在线人成| 午夜一区二区三区在线观看| 亚洲区一区二| 精品不卡在线| 日韩一区二区电影网| 一区二区三区在线观看欧美| 亚洲精品免费网站| …久久精品99久久香蕉国产 | 欧美在线资源| 这里只有视频精品| 亚洲日本激情| 欧美在线地址| 午夜一级久久| 亚洲韩国日本中文字幕| 亚洲欧美日韩精品| 欧美国产1区2区| 久久在线视频在线| 久久国产手机看片| 久久国产一区二区| 欧美日韩国产亚洲一区| 久久中文字幕一区二区三区| 欧美日韩另类综合| 欧美日韩精品一区二区天天拍小说 | 日韩一级欧洲| 久久夜色精品国产| 麻豆av一区二区三区| 一区二区日韩免费看| 亚洲另类在线一区| 一区二区欧美在线| 男男成人高潮片免费网站| 免费视频久久| 尤物99国产成人精品视频| 亚洲国产成人91精品| 亚洲精品视频在线| 蜜乳av另类精品一区二区| 欧美ab在线视频| 亚洲高清123| 久久精品国产亚洲一区二区三区 | 欧美国产综合视频| 国语自产在线不卡| 亚洲精品国产日韩| 免费久久99精品国产自在现线| 亚洲欧美大片| 久久亚洲一区二区| 欧美日韩成人网| 亚洲欧洲日产国产综合网| 欧美jizz19性欧美| 久久综合图片| 最近中文字幕日韩精品| 欧美激情国产精品| 亚洲一区二区高清| 久久精精品视频| 国产一区二区三区免费观看| 精品1区2区| 欧美成人视屏| 亚洲欧美日韩一区| 国产日韩综合| 亚洲精品国产精品久久清纯直播| 蜜臀久久99精品久久久久久9| 欧美一区二区三区在线看| 国产综合久久久久影院| 亚洲网友自拍| 麻豆精品在线视频| 美女精品视频一区| 国产一区二区三区四区五区美女| 欧美一区二区三区视频免费播放| 亚洲综合不卡| 在线观看亚洲a| 亚洲激情小视频| 国产精品人人爽人人做我的可爱| 久久精品国产免费观看| 欧美jizz19hd性欧美| 亚洲调教视频在线观看| 久久精品欧美| 日韩午夜在线| 欧美一区二区三区视频| 亚洲黄色免费| 久久精品最新地址| 在线视频一区二区| 欧美激情一区二区三区高清视频| 一本色道久久综合亚洲精品小说| 久久香蕉国产线看观看av| 欧美3dxxxxhd| 久久国产精品久久久久久久久久| 美国成人直播| 午夜免费在线观看精品视频| 久久婷婷国产麻豆91天堂| 亚洲视频1区| 美女黄毛**国产精品啪啪| 午夜天堂精品久久久久| 欧美电影免费观看| 久久在线视频| 国产麻豆精品theporn| 性欧美大战久久久久久久久| 久久久精品日韩欧美| 国产精品夜色7777狼人| 欧美韩日一区二区三区| 国产伦理精品不卡| 99亚洲一区二区| 欧美视频在线观看| 亚洲欧美在线播放| 欧美区视频在线观看| 亚洲伊人一本大道中文字幕| 另类激情亚洲| 久久久999精品免费| 国产精品成人播放| 欧美在线综合| 国产精品免费一区二区三区在线观看| 午夜欧美精品| 欧美日韩在线精品| 亚洲人www| 亚洲人成人一区二区三区| 久久精品国产久精国产爱| 午夜亚洲福利| 国产乱人伦精品一区二区 | 99视频有精品| 日韩亚洲欧美在线观看| 免费在线看成人av| 亚洲国产精品电影| 99国产精品久久久久久久| 欧美二区在线| 亚洲欧洲在线一区| 亚洲视频一二三| 国产精品久久9| 亚洲免费视频一区二区| 欧美一区二区三区四区高清| 国产精品亚发布| 欧美在线观看视频| 夜夜精品视频一区二区| 欧美激情精品久久久久久免费印度| 欧美激情按摩| 一本久道久久久| 国产精品免费一区二区三区在线观看| 亚洲视频axxx| 久久免费高清| 亚洲欧洲另类| 国产精品久久久久久久久久ktv| 亚洲性视频网址| 午夜精品成人在线视频| 亚洲女爱视频在线| 嫩模写真一区二区三区三州| 亚洲第一黄色| 黄色成人91| 噜噜噜噜噜久久久久久91| 欧美激情精品久久久久久变态| 亚洲人成人一区二区三区| 欧美视频一区二区三区…| 午夜在线成人av| 香蕉亚洲视频| 在线看一区二区| 欧美日韩国产美女| 香蕉尹人综合在线观看| 亚洲大片一区二区三区| 亚洲免费网址| 亚洲国产99| 国产精品日韩精品欧美精品| 久久九九99视频| 在线视频欧美一区| 欧美激情一区在线观看| 欧美一区亚洲| aaa亚洲精品一二三区| 韩国视频理论视频久久| 欧美日韩成人免费| 久久久久99| 亚洲男人第一网站| 亚洲第一黄色| 国产精品久久久久久户外露出| 久久精品亚洲热| 亚洲免费观看在线视频| 久久亚洲影音av资源网| 亚洲免费在线看| 亚洲国产一区二区三区a毛片| 国产精品久久久久久久7电影| 美女福利精品视频| 欧美一区二区三区视频免费| 日韩亚洲国产精品| 亚洲成色777777女色窝| 亚洲国产综合在线看不卡| 国产精品久久影院| 欧美日韩国产色视频| 久久蜜桃精品| 欧美专区在线观看| 亚洲桃花岛网站|