• <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>

            superman

            聚精會神搞建設 一心一意謀發展
            posts - 190, comments - 17, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

             1 /* Accepted 1250 C++ 00:00.02 904K */
             2 #include <iostream>
             3 
             4 using namespace std;
             5 
             6 struct { int cnt, cost[32]; } map[12][12];
             7 
             8 int main()
             9 {
            10     int n, m, c = 1;
            11     while(cin >> n >> m && n && m)
            12     {
            13         for(int i = 1; i <= n; i++)
            14             for(int j = 1; j <= n; j++)
            15                 if(i != j)
            16                 {
            17                     cin >> map[i][j].cnt;
            18                     for(int k = 1; k <= map[i][j].cnt; k++)
            19                         cin >> map[i][j].cost[k];
            20                 }
            21         
            22         int opt[1001][12];
            23         for(int i = 0; i <= m; i++)
            24             for(int j = 0; j <= n; j++)
            25                 opt[i][j] = INT_MAX;
            26         opt[0][0= opt[0][1= 0;
            27         
            28         for(int i = 1; i <= m; i++)
            29         for(int j = 1; j <= n; j++)
            30         for(int k = 1; k <= n; k++)
            31             if(j != k)
            32             if(opt[i - 1][k] != INT_MAX)
            33             {
            34                 int p;
            35                 if(i % map[k][j].cnt == 0)
            36                     p = map[k][j].cnt;
            37                 else
            38                     p = i % map[k][j].cnt;
            39                 if(map[k][j].cost[p] == 0)
            40                     continue;
            41                 opt[i][j] <?= opt[i - 1][k] + map[k][j].cost[p];
            42             }
            43             
            44         cout << "Scenario #" << c++ << endl;
            45         if(opt[m][n] != INT_MAX)
            46             cout << "The best flight costs " << opt[m][n] << '.' << endl;
            47         else
            48             cout << "No flight possible." << endl;
            49         cout << endl;
            50     }
            51     
            52     return 0;
            53 }
            54 

            posted @ 2008-06-01 10:24 superman 閱讀(233) | 評論 (0)編輯 收藏

            Clod Sandbank With Lonely [Steve Chou]

            After you've left me, my heart begins to rot.
            The white tung tree is flying in the wind.
            The fallen flowers follow the people to express their exquisite fellings in this season.
            The wind around the river bank is blowing extremely wildly.
            It continues to fiddle with women's tears.
            That kind of strong love I can never give out again.
            Sadness night after night.

            When the lines of memory circling throught the fragmented past.
            It's the dusk that occupies the heart.
            There're flowers accompany the butterflies.
            The lonely swallow can fly together.
            In the still of the night I wander alone.
            When the happy lovers send their redness to share their joy.
            Closing eyes with sadness and not willing to back.
            I still hate her gradually.
            I'm not willing to rest even thought I fell a bit of regret.
            Lonely sandbank, who should I think of?

            posted @ 2008-05-31 11:04 superman 閱讀(267) | 評論 (0)編輯 收藏

             1 /* Accepted 476K 657MS G++ 1154B */
             2 #include <iostream>
             3 
             4 using namespace std;
             5 
             6 int main()
             7 {
             8     int farm; cin >> farm;
             9     
            10     while(farm--)
            11     {
            12         int n, m, w;
            13         cin >> n >> m >> w;
            14         
            15         int cnt = 0;
            16         struct { int s, t, l; } e[5200];
            17         
            18         int s, t, l;
            19         for(int i = 0; i < m; i++)
            20         {
            21             cin >> s >> t >> l; s--, t--;
            22             e[cnt].s = s, e[cnt].t = t, e[cnt].l = l, cnt++;
            23             e[cnt].s = t, e[cnt].t = s, e[cnt].l = l, cnt++;
            24         }
            25         for(int i = 0; i < w; i++)
            26         {
            27             cin >> s >> t >> l; s--, t--, l = -l;
            28             e[cnt].s = s, e[cnt].t = t, e[cnt].l = l, cnt++;
            29         }
            30         
            31         int d[500= { 0 };
            32         
            33         for(int k = 0; k < n - 1; k++)
            34             for(int i = 0; i < cnt; i++)
            35                 d[e[i].t] <?= d[e[i].s] + e[i].l;
            36         
            37         for(int i = 0; i < cnt; i++)
            38             if(d[e[i].s] + e[i].l < d[e[i].t])
            39             {
            40                 cout << "YES"goto over;
            41             }
            42             
            43         cout << "NO";
            44         over:
            45             cout << endl;
            46     }
            47     
            48     return 0;
            49 }
            50 

            posted @ 2008-05-28 18:00 superman 閱讀(776) | 評論 (0)編輯 收藏

             1 /* Accepted 1942 C++ 00:00.22 1160K */
             2 #include <math.h>
             3 #include <iostream>
             4 
             5 using namespace std;
             6 
             7 int main()
             8 {
             9     cout.setf(ios_base::showpoint);
            10     cout.setf(ios_base::fixed);
            11     cout.precision(3);
            12     
            13     int n, cnt = 1;
            14     while(cin >> n && n)
            15     {
            16         struct { int x, y; } p[200];
            17         for(int i = 0; i < n; i++)
            18             cin >> p[i].x >> p[i].y;
            19         
            20         double dist[200][200= { 0.0 };
            21         
            22         for(int i = 0; i < n; i++)
            23         for(int j = 0; j < n; j++)
            24             dist[i][j] = pow(p[i].x - p[j].x, 2.0+ pow(p[i].y - p[j].y, 2.0);
            25         for(int k = 0; k < n; k++)
            26         for(int i = 0; i < n; i++)
            27         for(int j = 0; j < n; j++)
            28             dist[i][j] <?= max(dist[i][k], dist[k][j]);
            29         cout << "Scenario #" << cnt++ << endl;
            30         cout << "Frog Distance = " << sqrt(dist[0][1]) << endl << endl;
            31     }
            32     
            33     return 0;
            34 }
            35 

            posted @ 2008-05-28 10:17 superman 閱讀(561) | 評論 (1)編輯 收藏

             1 /* Accepted 1708 C++ 00:00.00 836K */
             2 #include <iostream>
             3 
             4 using namespace std;
             5 
             6 int main()
             7 {
             8     int n, m, start;
             9     while(cin >> n >> m >> start)
            10     {
            11         if(n == 0 && m == 0 && start == 0)
            12             break;
            13         
            14         char map[10][10];
            15         for(int i = 0; i < n; i++)
            16             for(int j = 0; j < m; j++)
            17                 cin >> map[i][j];
            18         
            19         int sx, sy;
            20         for(int i = 0; i < n; i++)
            21             for(int j = 0; j < m; j++)
            22             {
            23                 start--;
            24                 if(start == 0)
            25                 {
            26                     sx = i, sy = j; break;
            27                 }
            28             }
            29         
            30         int cnt[10][10= { 0 };
            31         cnt[sx][sy] = 1;
            32         
            33         while(true)
            34         {
            35             int tx = sx;
            36             int ty = sy;
            37             
            38             switch(map[sx][sy])
            39             {
            40                 case 'N' : tx--break;
            41                 case 'S' : tx++break;
            42                 case 'W' : ty--break;
            43                 case 'E' : ty++break;
            44             }
            45             if(tx < 0 || tx == n || ty < 0 || ty == m)
            46             {
            47                 cout << cnt[sx][sy] << " step(s) to exit" << endl;
            48                 break;
            49             }
            50             if(cnt[tx][ty])
            51             {
            52                 cout << cnt[tx][ty] - 1 << " step(s) before a loop of "
            53                      << cnt[sx][sy] - cnt[tx][ty] + 1  << " step(s)" << endl;
            54                 break;
            55             }
            56             cnt[tx][ty] = cnt[sx][sy] + 1;
            57             sx = tx, sy = ty;
            58         }
            59     }
            60     
            61     return 0;
            62 }
            63 

            posted @ 2008-05-26 15:08 superman 閱讀(172) | 評論 (0)編輯 收藏

             1 /* Accepted 2803 C++ 00:00.02 880K */
             2 #include <iostream>
             3 
             4 using namespace std;
             5 
             6 int main()
             7 {
             8     int N;
             9     cin >> N;
            10     while(N--)
            11     {
            12         int a, b, n, m;
            13         
            14         int px[101];
            15         int py[101];
            16         int dir[101];
            17         
            18         int map[101][101= { 0 };
            19         
            20         cin >> a >> b >> n >> m;
            21         for(int i = 1; i <= n; i++)
            22         {
            23             char c;
            24             cin >> px[i] >> py[i] >> c;
            25             map[px[i]][py[i]] = i;
            26             switch(c)
            27             {
            28                 case 'N' : dir[i] = 0break;
            29                 case 'E' : dir[i] = 1break;
            30                 case 'S' : dir[i] = 2break;
            31                 case 'W' : dir[i] = 3break;
            32             }
            33         }
            34         
            35         bool ok = true;
            36         for(int i = 0; i < m; i++)
            37         {
            38             int robot; char action; int repeat;
            39             
            40             cin >> robot >> action >> repeat;
            41          
            42             if(ok == false)
            43                 continue;
            44             
            45             if(action == 'L' || action == 'R')
            46             {
            47                 repeat %= 4;
            48                 if(action == 'L')
            49                     dir[robot] = (dir[robot] - repeat + 4% 4;
            50                 if(action == 'R')
            51                     dir[robot] = (dir[robot] + repeat) % 4;
            52                 continue;
            53             }
            54             //action == 'F'
            55             while(repeat--)
            56             {
            57                 int x = px[robot];
            58                 int y = py[robot];
            59                 
            60                 map[x][y] = 0;
            61                 switch(dir[robot])
            62                 {
            63                     case 0 : y++break;
            64                     case 1 : x++break;
            65                     case 2 : y--break;
            66                     case 3 : x--break;
            67                 }
            68                 if(map[x][y])
            69                 {
            70                     cout << "Robot " << robot
            71                          << " crashes into robot " << map[x][y] << endl;
            72                     break;
            73                 }
            74                 if(x == 0 || x == a + 1 || y == 0 || y == b + 1)
            75                 {
            76                     cout << "Robot " << robot << " crashes into the wall" << endl;
            77                     break;
            78                 }
            79                 px[robot] = x;
            80                 py[robot] = y;
            81                 map[x][y] = robot;
            82             }
            83             if(repeat != -1)
            84                 ok = false;
            85         }
            86         if(ok)
            87             cout << "OK" << endl;
            88     }
            89     
            90     return 0;
            91 }
            92 

            posted @ 2008-05-26 10:41 superman 閱讀(259) | 評論 (0)編輯 收藏

             1 /* Accepted 1016 C++ 00:00.00 832K */
             2 #include <cstdio>
             3 #include <string>
             4 #include <iostream>
             5 
             6 using namespace std;
             7 
             8 int main()
             9 {
            10     int n;
            11     cin >> n;
            12     while(cin >> n)
            13     {
            14         string seq;
            15         
            16         int p[100= {0};
            17         for(int i = 1; i <= n; i++)
            18         {
            19             cin >> p[i];
            20             for(int j = 1; j <= p[i] - p[i - 1]; j++)
            21                 seq += '(';
            22             seq += ')';
            23         }
            24         bool x[100= {0};
            25         for(int i = 0; i < seq.size(); i++)
            26             if(seq[i] == ')')
            27             {
            28                 int count = 0;
            29                 for(int j = i - 1; j >= 0 ; j--)
            30                     if(seq[j] == '(')
            31                     {
            32                         count++;
            33                         if(x[j] == 0)
            34                         {
            35                             cout << count << (i == seq.size()- 1 ? '\n' : ' ');
            36                             x[j] = 1;
            37                             break;
            38                         }
            39                     }
            40             }
            41     }
            42     
            43     return 0;
            44 }
            45 

            posted @ 2008-05-25 17:41 superman 閱讀(502) | 評論 (0)編輯 收藏

             1 /* Accepted 6888K 3141MS G++ 1416B */
             2 #include <math.h>
             3 #include <iostream>
             4 
             5 using namespace std;
             6 
             7 int n, m;
             8 int A[50000];
             9 int MIN[50000][16];
            10 int MAX[50000][16];
            11 
            12 void init()
            13 {
            14     for(int i = 0; i < n; i++)
            15         MIN[i][0= MAX[i][0= A[i];
            16     for(int j = 11 << j <= n; j++)
            17         for(int i = 0; i + (1 << j) - 1 < n; i++)
            18         {
            19             if(MIN[i][j - 1< MIN[i + (1 << (j - 1))][j - 1])
            20                 MIN[i][j] = MIN[i][j - 1];
            21             else
            22                 MIN[i][j] = MIN[i + (1 << (j - 1))][j - 1];
            23             
            24             if(MAX[i][j - 1> MAX[i + (1 << (j - 1))][j - 1])
            25                 MAX[i][j] = MAX[i][j - 1];
            26             else
            27                 MAX[i][j] = MAX[i + (1 << (j - 1))][j - 1];
            28         }
            29 }
            30 
            31 int main()
            32 {
            33     scanf("%d %d"&n, &m);
            34     for(int i = 0; i < n; i++)
            35         scanf("%d"&A[i]);
            36     
            37     //ST algorithm
            38     init();
            39     
            40     //deal with query
            41     int s, t;
            42     while(m--)
            43     {
            44         scanf("%d %d"&s, &t);
            45         s--, t--;
            46         
            47         int a, b, k = int(log(t - s + 1/ log(2));
            48         
            49         if(MIN[s][k] < MIN[t - (1 << k) + 1][k])
            50             a = MIN[s][k];
            51         else
            52             a = MIN[t - (1 << k) + 1][k];
            53         
            54         if(MAX[s][k] > MAX[t - (1 << k) + 1][k])
            55             b = MAX[s][k];
            56         else
            57             b = MAX[t - (1 << k) + 1][k];
            58         
            59         cout << b - a << endl;
            60     }
            61     
            62     return 0;
            63 }
            64 

            posted @ 2008-05-25 16:07 superman 閱讀(347) | 評論 (0)編輯 收藏

             1 /* Accepted 708K 907MS G++ 1904B */
             2 #include <stack>
             3 #include <queue>
             4 #include <iostream>
             5 
             6 using namespace std;
             7 
             8 struct
             9 {
            10     unsigned short LastState;
            11     char op;
            12 }state[65536];
            13 
            14 int main()
            15 {
            16     unsigned short InitState = 0;
            17     for(int i = 0; i < 16; )
            18         switch(getchar())
            19         {
            20             case '+' : InitState |= (1 << i); i++continue
            21             case '-' : i++continue
            22         }
            23     
            24     for(int i = 0; i < 65536; i++)
            25         state[i].op = -1;
            26     state[InitState].op = -2;
            27     
            28     queue <unsigned short> q;
            29     q.push(InitState);
            30     
            31     while(q.empty() == false)
            32     {
            33         unsigned short CurState = q.front(); q.pop();
            34         
            35         if(state[0].op != -1)
            36             break;
            37         
            38         for(int i = 0; i < 16; i++)
            39         {
            40             unsigned short tmp = CurState;
            41             tmp = tmp ^ (1 << i);
            42             
            43             int p;
            44             
            45             p = i - 4;
            46             while(p >= 0) { tmp = tmp ^ (1 << p); p -= 4; }
            47             
            48             p = i + 4;
            49             while(p < 16) { tmp = tmp ^ (1 << p); p += 4; }
            50             
            51             p = i / 4 * 4;
            52             while(p < i) { tmp = tmp ^ (1 << p); p++; }
            53             
            54             p = (i / 4 + 1* 4 - 1;
            55             while(p > i) { tmp = tmp ^ (1 << p); p--; }
            56             
            57             if(state[tmp].op == -1)
            58             {
            59                 state[tmp].LastState = CurState;
            60                 state[tmp].op = i;
            61                 q.push(tmp);
            62             }
            63         }
            64     }
            65     
            66     int p = 0;
            67     stack <int> path;
            68     while(state[p].op != -2)
            69     {
            70         path.push(state[p].op);
            71         p = state[p].LastState;
            72     }
            73     
            74     cout << path.size() << endl;
            75     while(path.empty() == false)
            76     {
            77         int x = path.top() / 4 + 1;
            78         int y = path.top() % 4 + 1;
            79         cout << x << ' ' << y << endl;
            80         path.pop();
            81     }
            82     
            83     return 0;
            84 }
            85 

            posted @ 2008-05-25 11:05 superman 閱讀(454) | 評論 (0)編輯 收藏

             1 /* Accepted 1229 C++ 00:00.06 828K */
             2 #include <fstream>
             3 #include <iostream>
             4 
             5 using namespace std;
             6 
             7 int n, m;
             8 
             9 bool x[50];
            10 
            11 void search(int i, int pos)
            12 {
            13     if(pos <= 0 || pos >= n + 1)
            14         return;
            15     
            16     x[pos] = true;
            17     search(i + 1, pos + (2 * i - 1));
            18     search(i + 1, pos - (2 * i - 1));
            19 }
            20 
            21 int main()
            22 {
            23     while(cin >> n >> m)
            24     {
            25         if(n == 0 && m == 0)
            26             break;
            27         
            28         if(n >= 50)    //i also do not know why
            29         {
            30             cout << "Let me try!" << endl; continue;
            31         }
            32         
            33         memset(x, falsesizeof(x));
            34         
            35         search(21);
            36         
            37         if(x[m])
            38             cout << "Let me try!" << endl;
            39         else
            40             cout << "Don't make fun of me!" << endl;
            41     }
            42     
            43     return 0;
            44 }
            45 

            posted @ 2008-05-21 11:08 superman 閱讀(398) | 評論 (0)編輯 收藏

            僅列出標題
            共19頁: First 5 6 7 8 9 10 11 12 13 Last 
            久久精品人人做人人爽电影| 青草影院天堂男人久久| 久久久久国产| 国产aⅴ激情无码久久| 日本福利片国产午夜久久| 精品久久久久久久中文字幕| 国产成人精品免费久久久久| 久久久久久av无码免费看大片| 日日狠狠久久偷偷色综合96蜜桃| 狠狠色丁香久久综合婷婷| 无码AV波多野结衣久久| 欧美与黑人午夜性猛交久久久 | 99久久免费国产精品| 欧美黑人又粗又大久久久 | 精品久久久久久亚洲精品 | 99久久精品免费| 少妇久久久久久被弄高潮| 久久综合偷偷噜噜噜色| 国产精品青草久久久久福利99| 色综合久久中文综合网| 亚洲国产精品久久电影欧美| 欧洲性大片xxxxx久久久| 激情五月综合综合久久69| 亚洲欧美日韩精品久久| 91精品国产9l久久久久| 国产精品午夜久久| 久久久久久a亚洲欧洲aⅴ | 久久综合香蕉国产蜜臀AV| 国产精品乱码久久久久久软件| 久久综合久久美利坚合众国| 久久青青草原精品国产软件| 青青草原综合久久大伊人导航| 日本免费一区二区久久人人澡 | 国内精品久久国产| 精品久久久久久国产| 久久久久亚洲av成人网人人软件| 国产69精品久久久久观看软件| 久久无码AV中文出轨人妻| 无码人妻少妇久久中文字幕蜜桃| 久久久久亚洲Av无码专| 伊人久久综在合线亚洲2019|