2009-10-29 11:23:12來源不明

方格取數

作法: DP

/***************************************************************/

#include<stdlib.h>
#include<stdio.h>
int input()  
{  
  char cha;  
  int x=0;  
  while(cha=getchar())  
     if(cha!=' '&&cha!='\n') break;  
  x=cha-48;  
  while(cha=getchar())   
    {  
     if(cha==' '||cha=='\n') break;  
      x=x*10+cha-48;  
    }  
    return x;  
}
main()

  int N;
  while(scanf("%d",&N)==1)
      {
        int a,b;
        int map[102][102]={0};
        for(a=1;a<=N;a++)
           for(b=1;b<=N;b++)
              map[a][b]=input();
        for(a=1;a<=N;a++)
           for(b=1;b<=N;b++)
              {
                int t1=map[a-1][b],t2=map[a][b-1];
                if(t1>t2) map[a][b]+=t1;
                else map[a][b]+=t2;
              }
        printf("%d\n",map[N][N]);
      }
  return 0;
}

上一篇:三角形的判斷

下一篇:我愛偶數