• <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>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
            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 on 2008-07-25 15:23 小果子 閱讀(183) 評論(0)  編輯 收藏 引用
            国产综合成人久久大片91| 久久综合噜噜激激的五月天| 99久久精品影院老鸭窝| 久久99国产精品久久久| 国内精品欧美久久精品| 久久乐国产综合亚洲精品| 久久综合给久久狠狠97色| 久久久99精品成人片中文字幕| 久久亚洲熟女cc98cm| 久久中文字幕一区二区| 色偷偷88欧美精品久久久| 国产精品女同久久久久电影院| 久久国产成人精品国产成人亚洲| 久久人人爽人人人人爽AV| 国产精品免费看久久久香蕉| 亚洲伊人久久大香线蕉综合图片| 久久精品国产清自在天天线| 中文字幕久久精品无码| 久久综合成人网| 99久久国产热无码精品免费久久久久| 精品国产乱码久久久久软件| 亚洲一区二区三区日本久久九| 亚洲狠狠婷婷综合久久久久| 久久久久亚洲AV综合波多野结衣| 久久久久久免费一区二区三区| 久久毛片一区二区| 久久青青色综合| 午夜精品久久久久久久无码| 国产精品久久久久乳精品爆| 久久精品国产精品亚洲毛片| 日韩AV无码久久一区二区 | 亚洲人成伊人成综合网久久久| 精品无码人妻久久久久久| 国产精品18久久久久久vr| 久久ww精品w免费人成| 色婷婷综合久久久中文字幕| 久久人与动人物a级毛片| 噜噜噜色噜噜噜久久| A级毛片无码久久精品免费| 久久久亚洲AV波多野结衣| 伊人久久大香线蕉亚洲|