Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
除了代码短点,没别的优点了,感觉给我写成了n^4的算法鸟,原来用C++还超时来着……#include<stdio.h> #include<malloc.h> int main() { int n,i,j,g,k,b2,s,ma[101][101],* b; scanf("%d",&n); for(j=1;j<=n;j++) for(i=1;i<=n;i++) scanf("%d",&ma[j][i]); b=(int *)malloc(sizeof(int)*(n+1)); s=-10000; for(k=1;k<=n;k++){ for(g=k;g<=n;g++){//k->g column枚举每种列的情况 for(j=1;j<=n;j++){ b[j]=0; for(i=k;i<=g;i++) b[j]+=ma[j][i]; } b2=0; for(j=1;j<=n;j++){//一维数组的DP步骤 if(b2>0) b2+=b[j]; else b2=b[j]; if(b2>s) s=b2; } } } printf("%d",s); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator