without further ado up to search, sure gorgeous timeout.
1#include <stdio.h>2#include <string.h>3#include <math.h>4#include <iostream>5#include <algorithm>6#include <queue>7#include <vector>8#include <Set>9#include <stack>Ten#include <string> One#include <sstream> A#include <map> -#include <cctype> -#include <limits.h> the using namespacestd; - inta[ A][ A],result,n,m; - voidDFS (intYintXintStep) - { + if(y<0|| y>n| | x<0|| X>m) - return; + if(y==n&&x==m&&step>result) Aresult=Step; atDFS (y+1, x,step+a[y+1][x]); -DFS (y,x+1, step+a[y][x+1]); - } - intMain () - { - while(SCANF ("%d%d", &n,&m)! =EOF) in { - for(intI=0; i<n;i++) to for(intj=0; j<m;j++) +scanf"%d",&a[i][j]); -result=int_min; theDFS (0,0, a[0][0]); *printf"%d\n", result); $ }Panax Notoginseng return 0; -}
or a DP bar. It only uses 4ms ...
1#include <stdio.h>2#include <string.h>3#include <math.h>4#include <iostream>5#include <algorithm>6#include <queue>7#include <vector>8#include <Set>9#include <stack>Ten#include <string> One#include <sstream> A#include <map> -#include <cctype> -#include <limits.h> the using namespacestd; - intdp[ A][ A],result,n,m; - intMain () - { + while(SCANF ("%d%d", &n,&m)! =EOF) - { + for(intI=1; i<=n;i++) A for(intj=1; j<=m;j++) atscanf"%d",&dp[i][j]); - for(intI=1; i<=n;i++) - for(intj=1; j<=m;j++) -Dp[i][j]=dp[i][j]+max (dp[i][j-1],dp[i-1][j]); -printf"%d\n", Dp[n][m]); - } in return 0; -}
Smart KK---Search timeout