zuichang_gonggong_zixvlie

#include <cstdioを> 
する#include <string.hの> 
INT casenum; 
 チャーシャン[1009]; //最初の配列。横向きの配列に置くようにデフォルトでは、配列の長さであり
; // INT shanglenght 
チャー夏[1009];放電の長手方向の配列として//二番目の配列、短いデフォルトのアレイ、
// INT xialenght; 
[1002ショートタブ] [1002]; //レコードデータを、先頭から、0は空配列の場合を検討するために使用されているため、
東台INT(){ 
    memsetの(タブ、0、はsizeof(タブ)); 
  / * = shanglenghtはsizeof(シャン); 
    のprintf( "%D \ N-"、shanglenght); 
      xialenght =はsizeof(夏); 
    のprintf( "%D \ N-"、xialenght); * / 
    INT congdingrow = 0; 
    int型congdingcel = 0; 
    INT I、J ; 
    //配列、ショートの配列;(夏は、[I] = '\ 0' ;! I ++ I = 0)するため
        (J = 0;シャン[ j]が'\ 0' ;! ++ = 循環内J){アレイの先頭の//数、
              congdingrow = I + 1。 
              congdingcel = J + 1; 

              タブ[congdingrow] [congdingcel] =タブ[-congdingrow 1] [congdingcel] + +1; //最初の行の更新と
              IF(タブ[congdingrow] [congdingcel ]> タブ[congdingrow] [congdingcel-1 ]); // 左のその後の比較の数字、私はおそらく
              他{ 
                タブ[congdingrow] [congdingcel] =タブ[congdingrow] [-congdingcel 1]; 
              } 
            } 
            他{ 
              congdingrow = I + 。1; 
              congdingcel = j個の+ 1; 
              タブ[congdingrow] [congdingcel] =タブ[congdingrow] [-congdingcel 1。]; 
              文字の//現在の番号iとjの文字列がある場合に等しくないアレイ上の現在の文字、およびJ jは、同じアレイ上に、配列は最適値jはないないタブ[congdingrow] [congdingcel-1です ] 
                文字の//現在の数アレイiが同じでない場合、現在の文字が配列に等しくないiとj、それは理解できます私は、同じであるアレイではなかった
                、両方のケースで//、値が同じではありません!
                //そして背面の試合はあなたがより多くのちょうどJのアレイ上には同等言わないよりも、比較したくないの後に私の目の前にある状況と成功マッチプラス1は、そこにある
                  IF(タブ[congdingrow-1] [congdingcelを] >タブ[congdingrow] [congdingcel])
                     タブ[congdingrow] [congdingcel] =タブ[congdingrow- 1] [congdingcel]; 

            } * / 
           INT congdingrow = I + 
            1、。。INT congdingcel = J + 1; 
              IF(夏[I]シャン== [J]){ 
                タブ[congdingrow] [congdingcel] =タブ[-congdingrow 1] [-congdingcel 1] +1し、 
        } 
      (INT 1 = K、K <= I; K ++)/ *のための{ 
              }他{
                タブ[congdingrow] [congdingcel] =タブ[congdingrow-1] [congdingcel]>タブ[congdingrow] [congdingcel-1]タブ[congdingrow-1] [congdingcel]タブ[congdingrow] [congdingcel-1];?
              }
            用(int型OP = 1; OP <= J; ++ OP){ 
                のprintf( "%dの"、タブ[K] [OP])。
            } 
            プット( "")。
        } * / 
    リターン・タブ[I] [J]。

1を返します。
} 
int型のmain(){ 
    scanf関数( "%のD"、&casenum)。
    以下のために(INT I = 1; I <= casenum; ++ I){ 
        scanf関数( "%s"は、シャン)。
        scanf関数( "%s"は、夏)。
     // printfの( "%sの\ n"は、シャン)。
    // printfの( "%sの\ n"は、夏)。
        printf( "%dの\ n"は、東台())。
    } 
}

おすすめ

転載: www.cnblogs.com/waibizi/p/12070160.html