• <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)  編輯 收藏 引用 所屬分類: 算法題解
            久久久免费精品re6| 久久露脸国产精品| 久久久久久久亚洲Av无码| 99国产欧美久久久精品蜜芽 | 久久强奷乱码老熟女网站| 国产香蕉久久精品综合网| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲午夜久久久久久久久久| 91精品国产综合久久精品| 久久国产精品偷99| 久久久噜噜噜久久熟女AA片| 久久亚洲av无码精品浪潮| 国产精品18久久久久久vr | 久久亚洲AV成人无码电影| 国产精品99久久精品爆乳| 久久亚洲精品成人AV| 欧美久久久久久午夜精品| 国产精品久久久久aaaa| 久久人人爽人人人人爽AV | 久久久久久免费一区二区三区| 99久久精品免费观看国产| 久久久无码精品亚洲日韩蜜臀浪潮| 欧美色综合久久久久久| 99久久国产综合精品五月天喷水 | 久久99国产综合精品| 久久精品中文字幕大胸| 国产香蕉97碰碰久久人人| 国产精品久久久久影院嫩草| 亚洲AV无码1区2区久久| 久久久久久曰本AV免费免费| 亚洲欧美国产精品专区久久| 久久精品国产欧美日韩| 精品久久久无码中文字幕| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久亚洲国产精品一区二区| 国产麻豆精品久久一二三| 久久亚洲中文字幕精品有坂深雪 | 久久精品国产亚洲AV不卡| 欧美亚洲国产精品久久| 亚洲中文久久精品无码ww16| 亚洲国产另类久久久精品小说|