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

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時(shí)注意才能保護(hù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>
http://acm.pku.edu.cn/JudgeOnline/problem?id=3669
problem: to find a position which is safe before T time in the first quadrant.Or output -1...
BFS...
 1 #include <iostream>
 2 #include <vector>
 3 #include <queue>
 4 
 5 using namespace std;
 6 struct Node
 7 {
 8     int xi,yi;
 9     int time;
10     Node(int x=0,int y=0,int t=0):xi(x),yi(y),time(t){};
11 };
12 int mark[305][305];
13 int load[305][305];
14 int dir[4][2]={1,0,-1,0,0,1,0,-1};
15 int n;
16 void Input()
17 {
18     int x,y,t;
19     memset(mark,-1,sizeof(mark));
20     memset(load,0,sizeof(load));
21     for(int i=0;i<n;i++){
22         scanf("%d%d%d",&x,&y,&t);
23         if(mark[x][y]>t||mark[x][y]==-1)mark[x][y]=t;
24         if(x-1>=0){
25             if(mark[x-1][y]>t||mark[x-1][y]==-1)mark[x-1][y]=t;
26         }
27         if(y-1>=0){
28             if(mark[x][y-1]>t||mark[x][y-1]==-1)mark[x][y-1]=t;
29         }
30         if(mark[x+1][y]>t||mark[x+1][y]==-1)mark[x+1][y]=t;
31         if(mark[x][y+1]>t||mark[x][y+1]==-1)mark[x][y+1]=t;
32     }
33 }
34 inline bool BFS()
35 {
36     queue<Node> que;
37     Node start(0,0,0);
38     load[0][0]=1;
39     if(mark[0][0]==-1){
40         printf("0\n");
41         return true;
42     }
43     que.push(start);
44     while(!que.empty()){
45         Node tmp=que.front();
46         que.pop();
47         for(int i=0;i<4;i++){
48             int xi=tmp.xi+dir[i][0];
49             int yi=tmp.yi+dir[i][1];
50             int t=tmp.time+1;
51             if(xi<0||yi<0)continue;
52             if(mark[xi][yi]<=t&&mark[xi][yi]!=-1)continue;
53             if(load[xi][yi])continue;
54             if(mark[xi][yi]==-1){
55                 printf("%d\n",t);
56                 return true;
57             }
58             Node tt(xi,yi,t);
59             load[xi][yi]=1;
60             que.push(tt);
61         }
62     }
63     return false;
64 }
65 int main()
66 {
67     while(scanf("%d",&n)!=EOF){
68         Input();
69         if(BFS()==false){
70             printf("-1\n");
71         }
72     }
73     return 0;
74 }
posted @ 2008-07-25 15:23 小果子 閱讀(188) | 評(píng)論 (0)編輯 收藏
http://acm.pku.edu.cn/JudgeOnline/problem?id=2362
DFS訓(xùn)練題
 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4 
 5 using namespace std;
 6 vector<int> sticks;
 7 int mark[25];
 8 int s;
 9 int dfs(int val,int h,int cnt)
10 {
11     for(int i=h;i<sticks.size();++i){
12         if(mark[i]==0){
13             mark[i]=1;
14             if(val+sticks[i]==s){
15                 cnt++;
16                 if(cnt==4)return 1;
17                 int ans=dfs(0,1,cnt);
18                 if(ans==1)return 1;
19                 mark[i]=0;
20                 return 0;
21             }
22             else if(val+sticks[i]<s){
23                 int ans=dfs(val+sticks[i],i,cnt);
24                 if(ans==1)return 1;
25                 mark[i]=0;
26             }
27             else if(val+sticks[i]>s){
28                 mark[i]=0;
29                 return 0;
30             }
31         }
32         if(h>0&&mark[0]==0)return 0;
33     }
34     return 0;
35 }
36 int main()
37 {
38     int c;
39     scanf("%d",&c);
40     while(c--){
41         memset(mark,0,sizeof(mark));
42         sticks.clear();
43         int num;
44         int k;
45         scanf("%d",&k);
46         int sum=0;
47         int tmp=0;
48         while(k--){
49             scanf("%d",&num);
50             sticks.push_back(num);
51             sum+=num;
52             if(num>tmp)tmp=num;
53         }
54         if(sum%4!=0||sticks.size()<4){
55             printf("no\n");
56             continue;
57         }
58         s=sum/4;
59         if(s<tmp){
60             printf("no\n");
61             continue;
62         }
63         sort(sticks.begin(),sticks.end());
64         int ans=dfs(0,0,1);
65         if(ans){
66             printf("yes\n");
67         }
68         else printf("no\n");
69     }
70     return 0;
71 }

posted @ 2008-07-24 20:56 小果子 閱讀(348) | 評(píng)論 (0)編輯 收藏
  1 http://acm.hdu.edu.cn/showproblem.php?pid=1404
  1 #include <iostream>
  2 #include <sstream>
  3 #include <string>
  4 
  5 using namespace std;
  6 const int N=1000000;
  7 int dp[N];
  8 int dfs(int n)
  9 {
 10     int hash[150];
 11     memset(hash,0,sizeof(hash));
 12     int tm,tp;
 13     tm=tp=n;
 14     
 15     tm=tp%10;
 16     if(tm==0){
 17         tp/=10;
 18         if(dp[tp]==-1)
 19             dp[tp]=dfs(tp);
 20         hash[dp[tp]]=1;
 21     }
 22     while(tm>0){
 23         --tp;
 24         if(dp[tp]==-1)
 25             dp[tp]=dfs(tp);
 26         hash[dp[tp]]=1;
 27         --tm;
 28     }
 29     tp=n;
 30     tm=(tp/10)%10;
 31     if(tm==0&&n>=100){
 32         tp/=100;
 33         if(dp[tp]==-1)
 34             dp[tp]=dfs(tp);
 35         hash[dp[tp]]=1;
 36     }
 37 
 38     while(tm>0){
 39         tp-=10;
 40         if(tp<10)break;
 41         if(dp[tp]==-1)
 42             dp[tp]=dfs(tp);
 43         hash[dp[tp]]=1;
 44         tm--;
 45     }
 46     tp=n;
 47     tm=(tp/100)%10;
 48     if(tm==0&&n>=1000){
 49         tp/=1000;
 50         if(dp[tp]==-1)
 51             dp[tp]=dfs(tp);
 52         hash[dp[tp]]=1;
 53     }
 54 
 55     while(tm>0){
 56         tp-=100;
 57         if(tp<100)break;
 58         if(dp[tp]==-1)
 59             dp[tp]=dfs(tp);
 60         hash[dp[tp]]=1;
 61         tm--;
 62     }
 63 
 64     tp=n;
 65     tm=(tp/1000)%10;
 66     if(tm==0&&n>=10000){
 67         tp/=10000;
 68         if(dp[tp]==-1)
 69             dp[tp]=dfs(tp);
 70         hash[dp[tp]]=1;
 71     }
 72     while(tm>0){
 73         tp-=1000;
 74         if(tp<1000)break;
 75         if(dp[tp]==-1)
 76             dp[tp]=dfs(tp);
 77         hash[dp[tp]]=1;
 78         tm--;
 79     }
 80 
 81     tp=n;
 82     tm=(tp/10000)%10;
 83     if(tm==0&&n>=100000){
 84         tp/=100000;
 85         if(dp[tp]==-1)
 86             dp[tp]=dfs(tp);
 87         hash[dp[tp]]=1;
 88     }
 89     while(tm>0){
 90         tp-=10000;
 91         if(tp<10000)break;
 92         if(dp[tp]==-1)
 93             dp[tp]=dfs(tp);
 94         hash[dp[tp]]=1;
 95         tm--;
 96     }
 97     tp=n;
 98     tm=(tp/100000)%10;
 99     while(tm>0){
100         tp-=100000;
101         if(tp<100000)break;
102         if(dp[tp]==-1)
103             dp[tp]=dfs(tp);
104         hash[dp[tp]]=1;
105         tm--;
106     }
107     for(int i=0;i<150;i++)
108         if(hash[i]==0)return i;
109 }
110 
111 int main()
112 {
113     memset(dp,-1,sizeof(dp));
114     dp[0]=1;
115     char s[9];
116     while(gets(s)){
117         if(s[0]=='0'){
118             printf("Yes\n");
119             continue;
120         }
121         int len=strlen(s);
122         int nn=0;
123         for(int i=0;i<len;i++)
124             nn=nn*10+s[i]-48;
125         if(dp[nn]==-1)dp[nn]=dfs(nn);
126         if(dp[nn]==0){
127             printf("No\n");
128         }
129         else printf("Yes\n");
130     }
131     return 0;
132 }
讀入轉(zhuǎn)化為int用c++流處理比直接模擬轉(zhuǎn)化慢許多...一直TLE...以前沒怎么覺得慢...數(shù)據(jù)量大時(shí)估計(jì)就體現(xiàn)出來了...
posted @ 2008-07-24 14:44 小果子 閱讀(441) | 評(píng)論 (0)編輯 收藏
 http://acm.hdu.edu.cn/showproblem.php?pid=1524
 1 #include <iostream>
 2 #include <vector>
 3 
 4 using namespace std;
 5 int dp[1006];
 6 struct Node
 7 {
 8     vector<int> next;
 9 };
10 vector<Node> vec;
11 int dfs(int k)
12 {
13     int hash[100];
14     memset(hash,0,sizeof(hash));
15 
16     for(int i=0;i<vec[k].next.size();++i){
17         if(dp[vec[k].next[i]]==-1)
18             dp[vec[k].next[i]]=dfs(vec[k].next[i]);
19         hash[dp[vec[k].next[i]]]=1;
20     }
21 
22     for(int i=0;i<100;i++){
23         if(hash[i]==0)return i;
24     }
25 };
26 int main()
27 {
28     int n;
29     while(scanf("%d",&n)!=EOF){
30         vec.clear();
31         vec.resize(1005);
32         memset(dp,-1,sizeof(dp));
33         int k;
34         for(int i=0;i<n;i++){
35             scanf("%d",&k);
36             int a;
37             while(k--){
38                 scanf("%d",&a);
39                 vec[i].next.push_back(a);
40             }
41         }
42         int m;    
43         while(scanf("%d",&m),m){
44             int sg=0;
45             for(int i=0;i<m;i++){
46                 scanf("%d",&k);
47                 if(dp[k]==-1)
48                     dp[k]=dfs(k);
49                 sg^=dp[k];
50             }
51             if(sg==0){
52                 printf("LOSE\n");
53             }
54             else printf("WIN\n");
55         }
56     }
57     return 0;
58 }
59 
posted @ 2008-07-24 11:10 小果子 閱讀(377) | 評(píng)論 (0)編輯 收藏

博弈的基礎(chǔ)題,通過求SG值,注意一點(diǎn)的是別忘了用記憶化搜索優(yōu)化,否則容易TEL...
http://acm.hdu.edu.cn/showproblem.php?pid=1536

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <vector>
 4 #include <bitset>
 5 
 6 using namespace std;
 7 vector<int> s;
 8 int dp[10006];
 9 int dfs(int v)
10 {
11     bitset<300> hash(0);
12     for(int i=0;i<s.size();i++){
13         if(v-s[i]>=0){
14             if(dp[v-s[i]]==-1){
15                 dp[v-s[i]]=dfs(v-s[i]);
16             }
17             hash.set(dp[v-s[i]]);
18         }
19         else break;
20     }
21     for(int i=0;i<300;i++)
22         if(hash.test(i)==0)return i;
23 }
24 
25 int main()
26 {
27     int k;
28     while(scanf("%d",&k)!=EOF,k){
29         s.clear();
30         s.reserve(105);
31         int n;
32         while(k--){
33             scanf("%d",&n);
34             s.push_back(n);
35         }
36         memset(dp,-1,sizeof(dp));
37         sort(s.begin(),s.end());
38         scanf("%d",&n);
39         while(n--){
40             int m;
41             int sg=0;
42             scanf("%d",&m);
43             while(m--){
44                 int v;
45                 scanf("%d",&v);
46                 if(dp[v]==-1)
47                     dp[v]=dfs(v);
48                 sg^=dp[v];
49             }
50             printf(sg?"W":"L");
51         }
52         printf("\n");
53     }
54     return 0;
55 }
posted @ 2008-07-23 20:54 小果子 閱讀(479) | 評(píng)論 (0)編輯 收藏
僅列出標(biāo)題
共58頁(yè): First 49 50 51 52 53 54 55 56 57 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美女主播一区| 亚洲毛片在线| 免费成人毛片| 欧美不卡视频一区发布| 免费视频久久| 亚洲国内高清视频| 亚洲黄色视屏| 亚洲精品日韩在线观看| 9i看片成人免费高清| 日韩西西人体444www| 99国产精品久久久| 亚洲综合色噜噜狠狠| 欧美一区二区三区四区视频| 久久精品国亚洲| 久久综合中文| 欧美日韩a区| 国产精品羞羞答答| 激情久久影院| 亚洲精品欧美极品| 亚洲午夜精品在线| 久久成人免费网| 免费在线亚洲欧美| 亚洲日韩第九十九页| 一二三区精品| 欧美在线日韩在线| 欧美二区视频| 国产精品久久久久久久app| 国产精品一区二区在线| 一区二区三区在线观看视频| 亚洲欧洲日夜超级视频| 亚洲影院色无极综合| 久久久久久久高潮| 亚洲人成亚洲人成在线观看图片| 一区二区三区国产精品| 久久se精品一区二区| 欧美 日韩 国产精品免费观看| 欧美日韩视频一区二区| 国产日韩欧美在线播放| 亚洲欧洲日产国产综合网| 亚洲一区二区三区在线看| 久久夜色精品国产噜噜av| 亚洲黑丝在线| 性欧美1819性猛交| 欧美国产第二页| 国产日韩在线看| 亚洲精品欧美日韩| 久久xxxx| 亚洲精品一级| 久久精品视频在线观看| 欧美三级乱人伦电影| 狠狠色2019综合网| 亚洲视频中文字幕| 欧美成人情趣视频| 亚洲制服av| 欧美日韩国产成人| 雨宫琴音一区二区在线| 午夜免费久久久久| 亚洲电影天堂av| 欧美一区二区三区视频免费播放| 欧美日韩精品一本二本三本| 好吊视频一区二区三区四区| 亚洲一区bb| 最新精品在线| 久久免费视频在线| 国产亚洲欧美另类一区二区三区| 夜夜嗨av一区二区三区四季av| 久久一二三四| 亚洲女人av| 欧美色综合天天久久综合精品| 亚洲第一精品影视| 久久久www| 午夜精品久久久久久99热| 欧美日韩国内自拍| 亚洲精品视频免费| 欧美大片免费久久精品三p | 欧美私人网站| 亚洲日本aⅴ片在线观看香蕉| 久久免费99精品久久久久久| 亚洲一区二区三区高清不卡| 欧美日本韩国一区| 亚洲欧洲三级电影| 欧美成人视屏| 久久精品国产99国产精品澳门| 国产精品人人爽人人做我的可爱| 99精品热视频只有精品10| 男人的天堂亚洲| 久久九九热免费视频| 国产欧美日韩亚洲| 篠田优中文在线播放第一区| 一区二区电影免费观看| 欧美人与禽猛交乱配| 亚洲人成绝费网站色www| 免费观看30秒视频久久| 久久久综合视频| 亚洲电影在线免费观看| 久热精品视频在线| 欧美在线一级视频| 好吊视频一区二区三区四区| 久久久综合激的五月天| 久久国产88| 在线日韩欧美视频| 欧美电影在线免费观看网站| 久久亚洲私人国产精品va| 在线观看av一区| 欧美成人性网| 欧美高清视频在线| 国产精品99久久久久久人 | 亚洲人成啪啪网站| 欧美激情a∨在线视频播放| 欧美a级片网| 亚洲精品在线三区| 亚洲精品一区二区在线| 欧美日韩在线视频观看| 午夜精品一区二区三区电影天堂| 亚洲一区视频| 国产婷婷97碰碰久久人人蜜臀| 久久精品最新地址| 老司机成人网| 一区二区精品在线| 亚洲永久在线| 在线观看欧美日韩国产| 亚洲激情六月丁香| 欧美三区在线观看| 久久精品国产免费观看| 久久亚洲国产成人| 99热这里只有成人精品国产| 亚洲视频免费看| 韩国av一区| 亚洲精品美女在线| 国产精品私拍pans大尺度在线| 久久久久久久久久看片| 毛片精品免费在线观看| 亚洲视频在线看| 欧美在线看片a免费观看| 亚洲三级影院| 亚洲在线视频一区| 在线日韩欧美视频| aa日韩免费精品视频一| 韩国三级在线一区| 亚洲日本成人女熟在线观看| 国产精品一区二区你懂得| 欧美 日韩 国产一区二区在线视频| 欧美激情一区三区| 久久成人免费视频| 欧美高清视频www夜色资源网| 午夜影院日韩| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲午夜电影网| 久久九九免费视频| 亚洲午夜激情| 久久人人爽人人| 欧美一级片一区| 欧美高清一区二区| 久久精视频免费在线久久完整在线看| 欧美岛国在线观看| 亚洲一区综合| 欧美电影免费观看网站| 久久久久综合一区二区三区| 欧美精品色网| 欧美成人免费视频| 国产欧美一区二区精品性色| 最新国产拍偷乱拍精品| 黄色亚洲大片免费在线观看| 一区二区精品在线| 亚洲国产日韩欧美在线99| 亚洲影院免费观看| 一区二区高清视频| 裸体歌舞表演一区二区| 欧美在线观看视频一区二区三区| 欧美精品久久一区| 欧美成人69| 国产亚洲欧洲| 亚洲天堂成人在线视频| 亚洲美女av电影| 久久人人爽人人| 久久久久国产一区二区| 国产精品二区在线| 亚洲久久在线| 亚洲日本国产| 看欧美日韩国产| 久久久一本精品99久久精品66| 国产精品久久久久久久久久免费| 亚洲高清不卡一区| 在线国产精品播放| 久久精品国产免费看久久精品 | 一本色道久久88精品综合| 亚洲人成网站在线播| 欧美一区二区三区四区在线观看地址 | 亚洲国产精品女人久久久| 狠狠色综合日日| 午夜精品久久久| 欧美亚洲自偷自偷| 欧美性大战久久久久久久| 亚洲精品久久久久久久久久久| 亚洲国产精品久久久久久女王| 久久国产精品一区二区三区| 久久精品国产成人| 国产综合精品| 久久国产精品99国产| 久久亚洲欧美|