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

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

pku 1315 回溯法

Posted on 2010-12-17 10:10 Onway 閱讀(378) 評論(0)  編輯 收藏 引用 所屬分類: 傷不起的ACM
/*************************************************************************
*pku 1315 Don't Get Rooked
http://poj.org/problem?id=1315
題目分類:回溯法
題意:n*n的棋盤,類似n后問題,橫豎不能放兩個棋子,不同的是,少了\
對角線的限制,棋盤里多了分割橫行和豎行的墻。求最多能放棋子數(shù)。
思路:枚舉第一個棋子的位子,確定第一個棋子位置后,對后面的棋子用\
遞歸深搜(即回溯法)暴力求解剩下能放的棋子。題目的難點是進入深搜時\
的標(biāo)記和回溯時撤銷標(biāo)記的操作。
代碼附注:近段時間比較少做題,在標(biāo)記操作里調(diào)試了很久,最后還感覺\
改得挺惡心的,代碼很臃腫。但交上去居然0MS一次AC了,也有借口不改進了。
*************************************************************************
*/


#include 
<iostream>
using namespace std;
char board[5][5];
int record[5][5];
int sum,tmp,n;
int code=0;

void rec(int ,int);
int main()
{
    
while(cin>>n&&n)
    {
        memset(record,
-1,sizeof(record));
        
int i,j;
        
for(i=0;i<n;++i)
            cin
>>board[i];

        sum
=0;tmp=0;
        
for(i=0;i<n;++i)
            
for(j=0;j<n;++j)
            {
                
if(board[i][j]!='X')
                    rec(i,j);
            }
        cout
<<sum<<endl;
    }
    
return 0;
}

void sign(int i,int j)
{
    
int k;
    
for(k=i-1;k>=0;--k)
        
if(board[k][j]=='X')    break;
        
else if(board[k][j]=='.')
        {board[k][j]
='u';record[k][j]=code;}
    
for(k=i+1;k<n;++k)
        
if(board[k][j]=='X')    break;
        
else if(board[k][j]=='.')
        {board[k][j]
='u';record[k][j]=code;}
    
for(k=j-1;k>=0;--k)
        
if(board[i][k]=='X')    break;
        
else if(board[i][k]=='.')
        {board[i][k]
='u';record[i][k]=code;}
    
for(k=j+1;k<n;++k)
        
if(board[i][k]=='X')    break;
        
else if(board[i][k]=='.')
        {board[i][k]
='u';record[i][k]=code;}
}
void reset(int i,int j)
{
    
int k;
    
for(k=i-1;k>=0;--k)
        
if(board[k][j]=='X')    break;
        
else if(board[k][j]=='u'&&record[k][j]==code)
        {board[k][j]
='.';record[k][j]=-1;}
    
for(k=i+1;k<n;++k)
        
if(board[k][j]=='X')    break;
        
else if(board[k][j]=='u'&&record[k][j]==code)
        {board[k][j]
='.';record[k][j]=-1;}
    
for(k=j-1;k>=0;--k)
        
if(board[i][k]=='X')    break;
        
else if(board[i][k]=='u'&&record[i][k]==code)
        {board[i][k]
='.';record[i][k]=-1;}
    
for(k=j+1;k<n;++k)
        
if(board[i][k]=='X')    break;
        
else if(board[i][k]=='u'&&record[i][k]==code)
        {board[i][k]
='.';record[i][k]=-1;}
}
void rec(int i,int j)
{
    
++tmp;
    
++code;
    board[i][j]
='r';
    sign(i,j);
    
for(int row=i;row<n;++row)
    {
        
int col;
        
if(row==i)    col=j+1;
        
else col=0;
        
for(;col<n;++col)
        {
            
if(board[row][col]=='.')
                rec(row,col);
        }
    }
    
if(sum<tmp)    sum=tmp;
    reset(i,j);
    board[i][j]
='.';
    
--code;
    
--tmp;
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美日韩网| 国产女人精品视频| 一本色道久久88精品综合| 亚洲欧美日韩国产综合在线 | 99日韩精品| 99国产一区二区三精品乱码| 99精品国产一区二区青青牛奶| 亚洲日本在线观看| 麻豆成人综合网| 欧美成人乱码一区二区三区| 欧美激情一区二区三区| 亚洲激情女人| 亚洲一区二区黄| 欧美综合二区| 免费看亚洲片| 欧美日韩亚洲一区二区三区在线| 国产精品久久久久影院色老大| 国产精品一级| 亚洲黄色在线看| 亚洲一卡久久| 久久夜色精品国产噜噜av| 亚洲国产一二三| 亚洲欧美影音先锋| 欧美大尺度在线观看| 国产精品毛片a∨一区二区三区| 国产日韩欧美三级| 亚洲国产欧美精品| 香蕉免费一区二区三区在线观看 | 日韩视频二区| 亚洲欧美一区二区原创| 欧美福利一区| 狠狠色香婷婷久久亚洲精品| 亚洲视频网在线直播| 久久性天堂网| 亚洲视频网站在线观看| 免费毛片一区二区三区久久久| 欧美日本在线| 狠狠色狠狠色综合日日小说 | 午夜精品福利一区二区蜜股av| 玖玖玖国产精品| 欧美精品三级日韩久久| 国产精品久久久久国产精品日日 | 欧美成年人视频网站欧美| 欧美激情精品久久久久久变态| 亚洲毛片在线观看.| 午夜精品一区二区三区电影天堂| 久久一区激情| 国产精品亚洲аv天堂网| 国产视频在线一区二区| 久久综合伊人77777麻豆| 久久黄色级2电影| 久久天天躁狠狠躁夜夜爽蜜月| 久久综合亚洲社区| 久久久国产视频91| 亚洲二区免费| 亚洲一区二区三区四区五区午夜 | 久久久五月婷婷| 欧美日韩在线播放| **性色生活片久久毛片| 亚洲欧美日韩国产中文| 欧美国产欧美亚州国产日韩mv天天看完整 | 久久国产精品久久w女人spa| 欧美日韩一区二区视频在线 | 午夜精品福利在线观看| 香蕉久久久久久久av网站| 久久精品午夜| 久久久久久久久久久一区| 欧美日韩中文| 亚洲人永久免费| 亚洲一区高清| 亚洲日韩欧美一区二区在线| 久久久亚洲影院你懂的| 国产一级一区二区| 亚洲与欧洲av电影| 亚洲三级电影在线观看| 久久久av网站| 狠狠爱www人成狠狠爱综合网| 午夜精品影院| 亚洲无限乱码一二三四麻| 欧美日韩国产色视频| 最新亚洲视频| 欧美大片一区二区三区| 在线亚洲成人| 欧美高清视频一区| 亚洲欧美国产精品专区久久| 日韩一区二区精品视频| 欧美日韩免费观看中文| 一区二区三区www| 亚洲人成7777| 欧美精品一区二区蜜臀亚洲| 亚洲另类黄色| 亚洲乱码国产乱码精品精可以看 | 亚洲在线观看视频网站| 亚洲精品在线免费观看视频| 欧美人在线视频| 亚洲综合国产激情另类一区| 亚洲午夜在线观看视频在线| 国产精品三上| 久久亚洲国产精品日日av夜夜| 欧美影院久久久| 亚洲午夜激情网站| 一区二区三区四区国产| 欧美一区在线看| 欧美专区日韩视频| 亚洲成色777777女色窝| 亚洲第一精品久久忘忧草社区| 久久不见久久见免费视频1| 在线观看日韩| 亚洲精品免费在线观看| 国产精品实拍| 老司机精品福利视频| 美女91精品| 亚洲一区二区日本| 欧美一级免费视频| 亚洲电影在线| av不卡在线| 欧美在线播放高清精品| 午夜精品一区二区三区电影天堂| 国产在线乱码一区二区三区| 亚洲国产精品一区制服丝袜| 国产精品国产三级欧美二区 | 午夜视频在线观看一区二区三区 | 欧美国产精品va在线观看| 一区二区三区欧美视频| 欧美亚洲视频在线看网址| 亚洲国产欧洲综合997久久| 亚洲美女诱惑| 国产一区二区三区四区| 久久久亚洲国产美女国产盗摄| 欧美在线一二三| 尤物网精品视频| 99热精品在线| 亚洲第一狼人社区| 亚洲欧美综合v| 一区二区三区日韩精品| 久久久91精品国产一区二区三区 | 亚洲一区二区三区久久| 亚洲免费网址| 亚洲电影毛片| 香蕉成人久久| 午夜精品久久久久久久99水蜜桃| 免费成人黄色片| 久久久久女教师免费一区| 欧美亚韩一区| 99av国产精品欲麻豆| 亚洲国产精品一区二区第一页| 午夜精品美女自拍福到在线| 一本色道久久99精品综合| 久久精品成人| 久久精品色图| 国产欧美日韩精品丝袜高跟鞋| 亚洲另类视频| 在线亚洲欧美专区二区| 欧美激情一区二区三区蜜桃视频| 亚洲一区中文| 久久精品1区| 最新国产成人av网站网址麻豆 | 久久精品国产一区二区三| 91久久久久久久久| 国产精品丝袜白浆摸在线| 久久免费视频在线| 欧美日韩一区二区三区在线看 | 欧美精品1区2区3区| 欧美激情成人在线| 亚洲二区免费| 久久综合伊人77777蜜臀| 亚洲摸下面视频| 欧美激情精品久久久久久大尺度| 亚欧美中日韩视频| 欧美激情综合网| 欧美不卡在线| 欧美超级免费视 在线| 亚洲国产一成人久久精品| 日韩视频―中文字幕| 欧美国产在线电影| 亚洲免费播放| 日韩亚洲视频在线| 欧美日韩另类综合| 亚洲性线免费观看视频成熟| 欧美一区高清| 国内成+人亚洲+欧美+综合在线| 欧美一级视频精品观看| 久久夜色撩人精品| 亚洲精品在线视频观看| 欧美丝袜一区二区| 小嫩嫩精品导航| 欧美成人黄色小视频| 在线视频欧美精品| 国产一二精品视频| 免费观看30秒视频久久| 亚洲美女色禁图| 久久精品1区| 国产欧美精品| 欧美一区二区视频97| 欧美一级片一区| 亚洲人成网站精品片在线观看 | 国产在线欧美| 欧美日本在线| 久久一区二区三区av| 亚洲一区二区av电影|