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

pku 1198 Solitaire 搜索+剪枝

題意:
      應該是跳棋游戲(我奶奶經常在家玩。。),一個8*8棋盤,棋子可以在棋盤上前后左右挪一格或者跳一格(如果相鄰格子有棋子的話),問初始狀態在8步內能否達到給定的終止狀態。
下限函數仍然選擇不在位置上的棋子個數,然后減枝即可。。
話說POJ卡常數,覺得復雜度應該可以了,就是TLE,然后到TOJ上嘗試提交了下,1A,然后只好回來優化常數,把判重換成數組判重,以6S的時間過了。。哎,JAVA就是可憐啊。。
  1 import java.util.*;
  2 import java.io.*;
  3 public class Main {
  4 
  5     /**
  6      * @param args
  7      */
  8     static point p1[]=new point[4],p2[]=new point[4];
  9     static boolean map[][]=new boolean[10][10];
 10     static boolean map1[][]=new boolean[10][10];
 11     static class point
 12     {
 13         int r,c;
 14         public point(int rr,int cc)
 15         {
 16             r=rr;
 17             c=cc;
 18         }
 19         public boolean equals(point pos)
 20         {
 21             return r==pos.r&&c==pos.c;
 22         }
 23     }
 24     static final boolean isnotin(int r,int c,point p[])
 25     {
 26         for(int i=0;i<4;i++)
 27             if(p[i].r==r&&p[i].c==c)
 28                 return false;
 29         return true;
 30     }
 31     static boolean dfs(point p[],int diff,int layer)
 32     {
 33         if(layer+diff>8return false;
 34         else if(diff==0
 35         {
 36             return true;
 37         
 38         }
 39         else
 40         {
 41             for(int i=0;i<4;i++)
 42             {
 43                 if(p[i].r+1<8&&isnotin(p[i].r+1,p[i].c,p))
 44                 {
 45                     p[i].r++;
 46                     if(dfs(p,diff+(isnotin(p[i].r-1,p[i].c,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
 47                         {
 48                     
 49                             return true;
 50                         }
 51                     p[i].r--;
 52                 }
 53                 if(p[i].c+1<8&&isnotin(p[i].r,p[i].c+1,p))
 54                 {
 55                     p[i].c++;
 56                     if(dfs(p,diff+(isnotin(p[i].r,p[i].c-1,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
 57                     {
 58                     
 59                         return true;
 60                     }
 61                     p[i].c--;
 62                 }
 63                 if(p[i].c-1>=0&&isnotin(p[i].r,p[i].c-1,p))
 64                 {
 65                     p[i].c--;
 66                     if(dfs(p,diff+(isnotin(p[i].r,p[i].c+1,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
 67                     {
 68                         
 69                         return true;
 70                     }
 71                     p[i].c++;
 72                 }
 73                 if(p[i].r-1>=0&&isnotin(p[i].r-1,p[i].c,p))
 74                 {
 75                     p[i].r--;
 76                     if(dfs(p,diff+(isnotin(p[i].r+1,p[i].c,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
 77                     {
 78                         
 79                         return true;
 80                     }
 81                     p[i].r++;
 82                 }
 83                 
 84                 if(p[i].r+2<8&&isnotin(p[i].r+2,p[i].c,p)&&!isnotin(p[i].r+1,p[i].c,p))
 85                 {
 86                     p[i].r+=2;
 87                     if(dfs(p,diff+(isnotin(p[i].r-2,p[i].c,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1))
 88                     {
 89                         
 90                         return true;
 91                     }
 92                     p[i].r-=2;
 93                     
 94                 }
 95                 if(p[i].c+2<8&&isnotin(p[i].r,p[i].c+2,p)&&!isnotin(p[i].r,p[i].c+1,p))
 96                 {
 97                     p[i].c+=2;
 98                     if(dfs(p,diff+(isnotin(p[i].r,p[i].c-2,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
 99                     {
100                         
101                         return true;
102                     }
103                     p[i].c-=2;
104                 }
105                 if(p[i].c-2>=0&&isnotin(p[i].r,p[i].c-2,p)&&!isnotin(p[i].r,p[i].c-1,p))
106                 {
107                     p[i].c-=2;
108                     if(dfs(p,diff+(isnotin(p[i].r,p[i].c+2,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
109                     {
110                         
111                         return true;
112                     }
113                     p[i].c+=2;
114                 }
115                 if(p[i].r-2>=0&&isnotin(p[i].r-2,p[i].c,p)&&!isnotin(p[i].r-1,p[i].c,p))
116                 {
117                     p[i].r-=2;
118                     if(dfs(p,diff+(isnotin(p[i].r+2,p[i].c,p2)?0:1)-(map[p[i].r][p[i].c]?1:0),layer+1)) 
119                     {
120                         
121                         return true;
122                     }
123                     p[i].r+=2;
124                 }
125                 
126                 
127             }
128             return false;
129         }
130     }
131     public static void main(String[] args) throws IOException{
132         Scanner in=new Scanner(new BufferedReader(new InputStreamReader(System.in)));
133         for(int i=0;i<4;i++)
134            p1[i]=new point(in.nextInt()-1,in.nextInt()-1);
135         for(int i=0;i<4;i++)
136            p2[i]=new point(in.nextInt()-1,in.nextInt()-1);
137         for(int i=0;i<8;i++)
138         {
139             Arrays.fill(map[i], false);
140             Arrays.fill(map1[i],false);
141         }
142         for(int i=0;i<4;i++)
143         {
144             map[p2[i].r][p2[i].c]=true;
145             map1[p1[i].r][p1[i].c]=true;
146         }
147         int diff=0;
148         for(int i=0;i<4;i++)
149         {
150             boolean flag=false;
151             for(int j=0;j<4&&!flag;j++)
152                 if(p1[i].equals(p2[j]))
153                     flag=true;
154             if(!flag) diff++;
155         }
156         if(dfs(p1,diff,0)) System.out.println("YES");
157         else System.out.println("NO");
158 
159     }
160 
161 }
162 


posted on 2010-10-16 01:50 yzhw 閱讀(218) 評論(0)  編輯 收藏 引用 所屬分類: search

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产高潮在线观看| 亚洲综合电影| 欧美激情一区二区三区| 亚洲夜晚福利在线观看| 日韩亚洲欧美高清| 亚洲乱码国产乱码精品精天堂 | 欧美日韩免费一区| 欧美国产三级| 国产精品久久久久免费a∨| 国产精品视频最多的网站| 国产欧美一区二区精品性色| 尤物精品在线| 亚洲欧美在线免费观看| 免费在线成人av| 亚洲日本免费| 亚洲欧美日韩一区二区三区在线 | 欧美成人自拍视频| 欧美岛国在线观看| 亚洲午夜三级在线| 久久久久久久综合狠狠综合| 欧美日一区二区在线观看 | 香蕉亚洲视频| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美精品中文字幕在线| 亚洲午夜一级| 亚洲精品日韩一| 老牛国产精品一区的观看方式| 国产精品视频| 亚洲欧美中文日韩在线| 亚洲三级电影在线观看| 久久久久久精| 狠狠色香婷婷久久亚洲精品| 欧美一区免费视频| 一区二区三区成人| 欧美午夜电影完整版| 艳妇臀荡乳欲伦亚洲一区| 女仆av观看一区| 麻豆国产精品一区二区三区| 在线免费观看欧美| 亚洲国产精品一区二区三区| 欧美成人首页| 亚洲欧美国产精品专区久久| 亚洲无限av看| 韩国成人福利片在线播放| 久久国产精品免费一区| 久久精品夜夜夜夜久久| 亚洲国产一区二区三区高清| 亚洲欧洲精品一区二区三区不卡| 欧美韩日亚洲| 久久福利毛片| 欧美精品一区在线观看| 欧美一区二区三区免费观看视频 | 欧美一区二区三区免费视频| 激情综合色丁香一区二区| 在线成人亚洲| 日韩午夜电影在线观看| 国精产品99永久一区一区| 免费观看亚洲视频大全| 欧美日韩精品一区二区三区| 久久久久久日产精品| 欧美视频在线观看 亚洲欧| 欧美不卡在线| 国产欧美一区二区精品性色| 亚洲精品视频免费观看| 国户精品久久久久久久久久久不卡 | 久久一区精品| 午夜在线电影亚洲一区| 欧美精品在线观看播放| 欧美顶级少妇做爰| 亚洲高清自拍| 免费日本视频一区| 你懂的一区二区| 亚洲国产婷婷香蕉久久久久久| 久久精品成人一区二区三区| 欧美亚洲一区三区| 久久久人成影片一区二区三区| 国产午夜精品久久久久久免费视 | 一区二区三区视频免费在线观看| 亚洲综合精品自拍| 欧美亚洲视频在线看网址| 欧美日韩专区在线| 亚洲影院色无极综合| 欧美在线视频全部完| 国产欧美一区二区三区沐欲| 欧美亚洲一区二区三区| 欧美va天堂va视频va在线| 亚洲啪啪91| 国产精品一区在线播放| 久久久爽爽爽美女图片| aa级大片欧美三级| 欧美精品激情在线| 亚洲一区久久久| 欧美成人有码| 久久av最新网址| 日韩一区二区精品葵司在线| 欧美性猛交99久久久久99按摩| 欧美怡红院视频一区二区三区| 久久综合九色| 久久av一区二区| 99国产成+人+综合+亚洲欧美| 国产精品毛片大码女人| 免费亚洲一区| 欧美成年人视频| 久久久91精品| 欧美伊久线香蕉线新在线| 日韩视频永久免费观看| 亚洲国产高清一区二区三区| 亚洲淫片在线视频| 这里是久久伊人| 亚洲人成人99网站| 亚洲人成网站色ww在线| 亚洲高清视频的网址| 免费成人性网站| 亚洲成色最大综合在线| 猛男gaygay欧美视频| 欧美激情久久久久久| 欧美激情欧美激情在线五月| 亚洲成色www久久网站| 亚洲欧洲综合另类| 正在播放亚洲一区| 亚洲自拍电影| 久久躁狠狠躁夜夜爽| 欧美久久视频| 国产自产在线视频一区| 亚洲人午夜精品免费| 99在线视频精品| 亚洲视频在线看| 久久久久久伊人| 亚洲国产精品悠悠久久琪琪 | 国自产拍偷拍福利精品免费一| 影音先锋亚洲精品| 在线视频日韩| 久久综合九色综合欧美狠狠| 亚洲精品国产日韩| 性8sex亚洲区入口| 欧美色精品在线视频| 国产综合在线看| 午夜精品久久久久久久男人的天堂 | 久久婷婷蜜乳一本欲蜜臀| 欧美日本一区二区三区| 狠狠狠色丁香婷婷综合激情| 亚洲一区三区在线观看| 亚洲人成网在线播放| 欧美www视频| 亚洲精品一区久久久久久| 美国三级日本三级久久99| 亚洲校园激情| 国产毛片一区二区| 亚洲一区二区在线播放| 99精品免费| 欧美日韩一区国产| 亚洲午夜一级| 亚洲欧美卡通另类91av | 亚洲欧美激情四射在线日 | 国产精品国产自产拍高清av| 日韩小视频在线观看专区| 亚洲国产另类 国产精品国产免费| 久久福利资源站| 亚洲日本欧美天堂| 亚洲麻豆国产自偷在线| 欧美日韩精品久久久| 欧美国产一区视频在线观看| 夜夜嗨av一区二区三区免费区| 亚洲免费av网站| 国产欧美日韩激情| 欧美成人精品激情在线观看| 欧美日韩午夜激情| 开心色5月久久精品| 欧美日韩中文字幕在线| 麻豆精品在线播放| 欧美一区二区三区免费在线看| 久久精品一区二区国产| 99精品欧美一区二区三区综合在线| 一本到高清视频免费精品| 国内外成人免费激情在线视频网站| 欧美国产视频日韩| 国产精品在线看| 日韩视频在线一区二区三区| 亚洲国产高清一区| 欧美一级淫片aaaaaaa视频| 亚洲伦伦在线| 噜噜噜噜噜久久久久久91| 亚欧成人在线| 国产精品qvod| 妖精视频成人观看www| 日韩亚洲视频| 欧美日韩亚洲一区在线观看| 亚洲国产欧美日韩另类综合| 在线播放一区| 麻豆成人在线| 日韩午夜电影| 午夜在线观看欧美| 国产精品久久毛片a| 亚洲欧美一级二级三级| 亚洲欧美日韩一区二区三区在线| 欧美日韩美女在线观看| 99re66热这里只有精品3直播| 在线综合亚洲欧美在线视频| 国产精品久久亚洲7777| 亚洲影院免费|