[2016-03-29][HDU][2859][Phalanx]

Posted 红洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-03-29][HDU][2859][Phalanx]相关的知识,希望对你有一定的参考价值。

  • 时间:2016-03-29 15:53:01 星期二

  • 题目编号:[2016-03-29][HDU][2859][Phalanx]

  • 分析:dp[i][j]表示以 (i,j)为左下角

  1. #include <cstdio>
  2. #include <algorithm>
  3. using namespace std;
  4. const int maxn = 1000 + 10;
  5. char a[maxn][maxn];
  6. int dp[maxn][maxn],ans,n;
  7. void func(int x,int y){
  8. int maxl = min(x,n - y);
  9. int i;
  10. for(i = 0;i <= maxl;++i){
  11. if(a[x - i][y] != a[x][y + i]) break;
  12. }
  13. if(i >= dp[x - 1][y + 1] + 1){
  14. dp[x][y] = dp[x - 1][y + 1] + 1;
  15. }else dp[x][y] = i;
  16. if(dp[x][y] > ans) ans = dp[x][y];
  17. }
  18. int main(){
  19. while(~scanf("%d",&n) && n){
  20. for(int i = 1;i <= n ; ++i){
  21. scanf("%s",a[i] + 1);
  22. }
  23. ans = 0;
  24. for(int i = 1; i <= n ; ++i)
  25. for(int j = n ;j > 0;--j)
  26. func(i,j);
  27. printf("%d\n",ans);
  28. }
  29. return 0;
  30. }




以上是关于[2016-03-29][HDU][2859][Phalanx]的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2859 Phalanx

hdu2859 dp

动规-HDU-2859

HDU-2859_Phalanx

HDU2859

HDU2859 Phalanx (DP)