zstu 1024 Wooden Sticks

来源:互联网 发布:base64 js 源码 编辑:程序博客网 时间:2024/05/19 13:16

重点是结尾的储存。。
能接在前面列接在前面列。。
这样总体就会更加紧密。。
突然想到俄罗斯方块。 。

#include<stdio.h>#include<string.h>#include<algorithm>#define maxn 5010using namespace std;struct sb{    int w;    int l;    bool operator<(const sb&wakaka)const    {        if(l==wakaka.l)            return w<wakaka.w;        else            return l<wakaka.l;    }}tree[maxn],end[maxn];int main(){    int T;    scanf("%d",&T);    while(T--)    {        int n;        scanf("%d",&n);        for(int i=1;i<=n;i++)            scanf("%d%d",&tree[i].l,&tree[i].w);        sort(tree+1,tree+n+1);        tree[0].l=-0x3f3f3f3f;        tree[0].w=-0x3f3f3f3f;        memset(end,0,sizeof(end));        end[1].l=tree[1].l;        end[1].w=tree[1].w;        int len=1;        for(int i=2;i<=n;i++)        {            int flag=0;            for(int j=1;j<=len;j++)            {                if(end[j].l<=tree[i].l&&end[j].w<=tree[i].w)                {                    flag=1;                    end[j].l=tree[i].l;                    end[j].w=tree[i].w;                    break;                }            }            if(flag==0)            {                len++;                end[len].l=tree[i].l;                end[len].w=tree[i].w;            }        }        printf("%d\n",len);    }    return 0;}
0 0
原创粉丝点击