lalalala


私信TA

用户名:zhangshuo

访问量:161479

签 名:

像狗一样的学习,像绅士一样地玩耍。

等  级
排  名 7
经  验 31290
参赛次数 10
文章发表 201
年  龄 12
在职情况 学生
学  校 芜湖市第十一中学
专  业

  自我简介:

今日懒惰流下的口水,将会成为明日里伤心的泪水。

解题思路:





注意事项:





参考代码:

#include<cstdio>  
#include<cstring>  
#define max(u,v) u>v ? u:v  
#define min(u,v) u<v ? u:v  
  
int n,m,x,a[1001],fmax[1001][1001],fmin[1001][1001];  
int maxx=-999999999,minn=999999999;  
  
int main()  
{  
    scanf("%d%d",&n,&m);  
    memset(fmin,127,sizeof(fmin));  
    for(int i=1;i<=n*2;i++) fmin[i][i]=0;  
    for(int i=1;i<=n;i++)  
    {  
        scanf("%d",&x);  
        a[i]=a[i-1]+x;  
    }  
    for(int i=n+1;i<=2*n-1;i++) a[i]=a[i-n]+a[n];  
    for(int l=1;l<=n;l++)  
      for(int i=1;i<=n-l;i++)  
      {  
        int j=l+i;  
        for(int k=i;k<j;k++)  
        {  
            fmax[i][j]=max(fmax[i][j],fmax[i][k]+fmax[k+1][j]+a[j]-a[i-1]);  
            fmin[i][j]=min(fmin[i][j],fmin[i][k]+fmin[k+1][j]+a[j]-a[i-1]);  
        }  
      }  
    for(int i=1;i<=n;i++)  
    {  
        if(minn>fmin[i][i+n-1]) minn=fmin[i][i+n-1];  
        if(maxx<fmax[i][i+n-1]) maxx=fmax[i][i+n-1];  
    }  
    if(m>maxx) printf("It is easy\n");  
    else if(m<minn) printf("I am..Sha...X\n");  
    else printf("I will go to play WarIII\n");  
    return 0;  
}


 

0.0分

2 人评分

  评论区

  • «
  • »