Time Limit: 2000/1000 MS
(Java/Others) Memory Limit: 65536/32768 K
(Java/Others)Total Submission(s): 7620 Accepted
Submission(s): 3692
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 |
#include <iostream>#include <cstdio>using
namespace std;#define N 105int arr[N][N],b[N];int dp(int
*a,int
m) //求一维数组的最大子段和{ int
i,sum,max; sum = 0; max = 0; for(i=0; i<N; i++) { sum += a[i]; if(sum<0) sum = 0; if(sum>max) max = sum; } return
max;}int
main(){ int
i,j,k,n,sum,max; while(scanf("%d",&n)!=EOF) { for(i=0; i<n; i++) for(j=0; j<n; j++) scanf("%d",&arr[i][j]); max = 0; for(i=0; i<n; i++) { memset(b,0,sizeof(b)); for(j=i; j<n; j++) { for(k=0; k<n; k++) b[k] += arr[j][k]; sum = dp(b,n); if(sum>max) max = sum; } } printf("%d\n",max); } return
0;} |
Hdu 1081 To The Max,布布扣,bubuko.com
原文:http://www.cnblogs.com/yazhou/p/3742033.html