• <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>
            posts - 33,  comments - 33,  trackbacks - 0
            Poj 2081
            http://poj.org/problem?id=2081
            求數列第i項 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9
            解法:按照題目要求遞推即可
            #include <stdio.h>
            #include 
            <string.h>

            bool visited[4000005];
            int nums[4000005];

            void pre()
            {
                memset(visited,
            0,sizeof(visited));
                memset(nums,
            0,sizeof(nums));
                visited[
            0= true;
                
            for (int i = 1; i <= 500000++i)
                {
                    
            int k = nums[i-1- i;
                    
            if (k <=0 || visited[k])
                    {
                        nums[i] 
            = nums[i-1+ i;
                        visited[nums[i]] 
            = true;
                    }
                    
            else
                    {
                        nums[i] 
            = nums[i-1- i;
                        visited[nums[i]] 
            = true;
                    }
                }
            }

            int main()
            {
                pre();
                
            int n;
                
            while(scanf("%d",&n) != EOF)
                {
                    
            if (n == -1)
                    {
                        
            break;
                    }
                    printf(
            "%d\n",nums[n]);
                }
                
            return 0;
            }

            2250 
            http://poj.org/problem?id=2250
            最長公共串
              1 #include <iostream>
              2 #include <string.h>
              3 #include <string>
              4 #include <vector>
              5 using namespace std;
              6 
              7 string strs1[128];
              8 int len1;
              9 string strs2[128];
             10 int len2;
             11 int dp[128][128];
             12 int flags[128][128];//1 上 2 左 3 對角
             13 
             14 void Test()
             15 {
             16     memset(dp,0,sizeof(dp));
             17     memset(flags,0,sizeof(flags));
             18     for (int i = 1; i <= len1; ++i)
             19     {
             20         for (int j = 1; j <= len2; ++j)
             21         {
             22             if (strs1[i] == strs2[j])
             23             {
             24                 dp[i][j] = dp[i-1][j-1+ 1;
             25                 flags[i][j] = 3;
             26             }
             27             else
             28             {
             29                 int m1 = dp[i-1][j];
             30                 int m2 = dp[i][j-1];
             31                 if (m1 < m2)
             32                 {
             33                     dp[i][j] = m2;
             34                     flags[i][j] = 2;
             35                 }
             36                 else
             37                 {
             38                     dp[i][j] = m1;
             39                     flags[i][j] = 1;
             40                 }
             41             }
             42         }
             43     }
             44     int pos1 = len1;
             45     int pos2 = len2;
             46     vector<string> vec;
             47     while(true)
             48     {
             49         if (flags[pos1][pos2] == 3)
             50         {
             51             vec.push_back(strs1[pos1]);
             52             --pos1;
             53             --pos2;
             54         }
             55         else if (flags[pos1][pos2] == 2)
             56         {
             57             --pos2;
             58         }
             59         else if (flags[pos1][pos2] == 1)
             60         {
             61             --pos1;
             62         }
             63         else
             64             break;
             65     }
             66     for (int i =  vec.size()-1; i >=0 ; --i)
             67     {
             68         cout << vec[i];
             69         if (i == 0)
             70         {
             71             cout << endl;
             72         }
             73         else
             74         {
             75             cout << " ";
             76         }
             77     }
             78 }
             79 
             80 int main()
             81 {
             82     //freopen("data.txt","r",stdin);
             83     string input;
             84     int k = 0;
             85     len1 = len2 = 0;
             86     while(cin >> input)
             87     {
             88         if (input == "#")
             89         {
             90             if (k == 1)
             91             {
             92                 Test();
             93                 k = 0;
             94                 len1 = len2 = 0;
             95                 continue;
             96             }
             97             else
             98             {
             99                 k = 1;
            100             }
            101         }
            102         if (k == 0)
            103         {
            104             strs1[++len1] = input;
            105         }
            106         else
            107         {
            108             strs2[++len2] = input;
            109         }
            110     }
            111     return 0;
            112 }



            posted on 2012-03-26 20:19 bennycen 閱讀(939) 評論(0)  編輯 收藏 引用 所屬分類: 算法題解
            精品久久久久久国产三级| 亚洲精品乱码久久久久久蜜桃图片 | 欧美丰满熟妇BBB久久久| 人妻无码久久一区二区三区免费| 久久国产亚洲高清观看| 国产精自产拍久久久久久蜜| 亚洲国产小视频精品久久久三级| 少妇精品久久久一区二区三区| 久久综合丝袜日本网| 性做久久久久久久久浪潮| 国产精品99久久99久久久| 亚洲?V乱码久久精品蜜桃| 国产精品岛国久久久久| 国产精品久久久久免费a∨| 久久精品一区二区三区不卡| 久久频这里精品99香蕉久| 99国内精品久久久久久久| 亚洲人成网亚洲欧洲无码久久| 伊人久久免费视频| 久久超碰97人人做人人爱| 日韩美女18网站久久精品| 91麻精品国产91久久久久| 亚洲欧美日韩中文久久| 亚洲精品综合久久| 久久精品视频91| 久久综合久久综合久久| 久久91精品国产91久久麻豆| 久久久久青草线蕉综合超碰| 久久久WWW成人免费毛片| 久久国产香蕉视频| 久久精品这里只有精99品| 国产呻吟久久久久久久92| 色综合久久中文色婷婷| 亚洲国产成人久久综合碰碰动漫3d | 亚洲国产成人久久一区久久 | 色偷偷88888欧美精品久久久| 91性高湖久久久久| 国产午夜精品久久久久九九| AA级片免费看视频久久| 久久91这里精品国产2020| 久久无码一区二区三区少妇 |