HDU 1050——Moving Tables

题目:点击打开链接

这个题目和线段的题目一样 是一个区间划分问题的变形。HDU的PPT上有详细的说明。注意奇偶,注意最多交叉的个数

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int testcase;
    int p[300];
    int quenum;
    int st,ed,temp;
    int minc;
    cin>>testcase;
    for(int i=0;i<testcase;i++)
    {

        memset(p,0,sizeof(p));
        cin>>quenum;
        for(int j=0;j<quenum;j++)
        {
            cin>>st>>ed;
            st=(st-1)/2;
            ed=(ed-1)/2;
            if(st>ed)
            {
                temp=st;
                st=ed;
                ed=temp;
            }
            for(int k=st;k<=ed;k++)
            {
                p[k]++;
            }
            minc=0;
            for(int j=0;j<300;j++)
            {
                if(p[j]>minc)
                    minc=p[j];
            }
        }
         cout<<(minc*10)<<endl;
    }
}


你可能感兴趣的:(HDU 1050——Moving Tables)