zstu 2552 马棚问题

来源:互联网 发布:qq的端口号是多少 编辑:程序博客网 时间:2024/05/17 22:09

做出 zstu2555后 就不成问题啦。。
虽然怀疑学校的oj时间是不是坏掉了。。

#include<stdio.h>#include<string.h>struct colors{    int black;    int white;}mycolor[510];int dp[510][510];int min(int g,int h){    return g>h?h:g;}int main(){    int n,k;    while(scanf("%d%d",&n,&k)!=EOF)    {        int color;        for(int i=1;i<=n;i++)        {            scanf("%d",&color);            if(color==1)            {                mycolor[i].black=mycolor[i-1].black+1;                mycolor[i].white=mycolor[i-1].white;            }            else            {                mycolor[i].white=mycolor[i-1].white+1;                mycolor[i].black=mycolor[i-1].black;            }        }        memset(dp,0x3f3f3f3f,sizeof(dp));        for(int i=1;i<=n;i++)            dp[1][i]=mycolor[i].black*mycolor[i].white;        for(int i=2;i<=k;i++)        {            for(int j=i;j<=n;j++)            {                for(int k=i-1;k<j;k++)                    dp[i][j]=min(dp[i][j],dp[i-1][k]+(mycolor[j].black-mycolor[k].black)*(mycolor[j].white-mycolor[k].white));            }        }        printf("%d\n",dp[k][n]);    }    return 0;}
0 0
原创粉丝点击