hdu 1081 dp

来源:互联网 发布:中国制造 知乎 编辑:程序博客网 时间:2024/05/21 22:43

2014/9/29


很水,刚一下子却不敢写。是不是已经没了以前那股子韧劲?

还是说最近都在做自己不会的题目,所以会的现在看到也潜意识认为不会了?


//Ñô¹â´ÌÍ´Ë«íø#include<stdio.h>#include<string.h>#include<cmath> #include<algorithm>#include<iostream>#include<queue>#include<stack>#include<map>#include<climits>#include<vector>using namespace std;typedef long long ll;  #define f(x,y,i) for(int i = x;i < y; i++)#define ff(x,y,i) for(int i = x;i  <= y; i++)#define F(x,y,i) for(int i = x; i >= y; i--)#define FF(x,y,i) for(int i = x; i > y; i++)#define lson pos<<1,l,mid#define rson pos<<1|1,mid+1,r#define sc(n) scanf("%d",&n)#define pr(n) printf("%d\n",n)#define met(n,m) memset(n, m, sizeof(n)) #define mod 10007const int inf = INT_MAX;const int N=500;int Max(int a,int b){return a>b?a:b;}int Min(int a,int b){return  a<b?a:b;}int vis[N][N]; int s[N][N];int dp[N][N];int main(){    int    n , m  , k;while(~scanf("%d",&n)){met(s,0);     int sum,maxn =0;         f(1,n+1,i)      f(1,n+1,j)      scanf("%d",&s[i][j]),s[i][j]+=s[i-1][j];              for(int i = 0; i < n; i++)       {       for(int j = i+1; j <= n; j++)       {        sum  =0;       for(int k = 1; k <= n; k++)       {       sum +=s[j][k]-s[i][k];       if(sum < 0)       {       sum = 0;       }       maxn = Max(sum,maxn);                             }       }       }              printf("%d\n",maxn);       }      return 0;}


0 0
原创粉丝点击