//T1 节目问题
#include
#include
using namespace std;
struct pro
{ int beg;
int end;
};
int comp(const pro A,const pro B)
{ return A.end
int main()
{ int i,n,sum,start;
pro a[100];
while(cin>>n&&n)
{ for(i=0;i
cin>>a[i].beg>>a[i].end;
sort(a,a+n,comp);
sum=1; start=a[0].end;
for(i=1;i
if(a[i].beg>=start)
{ sum++; start=a[i].end;}
cout<
return 0;
}
//T2//桌子
#include
using namespace std;
int main()
{ int t,n,i,j,mid,s,m,min,p[200];
cin>>t;
while(t--)
{
for(i=0;i<200;i++)
p[i]=0;
cin>>n;
for(i=0;i
{ cin>>s>>m;
s=(s-1)/2; m=(m-1)/2;
if(s>m)
{ mid=s;
s=m;
m=mid;
}
for(j=s;j<=m;j++)
p[j]++;
}
min=0;
for(i=0;i<200;i++)
if(p[i]>min) min=p[i];
cout<
return 0;
}
//T3//田忌赛马
#include
#include
using namespace std;
int comp(const int a,const int b)
{ return a>b;}
int main()
{ int i,j,h,n,a[1000],b[1000],aquick,alow,bquick,blow,sum=0;
while(cin>>n&&n)
{ for(i=0;i
cin>>a[i];
for(i=0;i
cin>>b[i];
sort(a,a+n,comp);
sort(b,b+n,comp);
aquick=bquick=0;
alow=blow=n-1;
sum=0;
for(i=0;i
{
if(a[aquick]>b[bquick])
{ sum+=200;
aquick++; bquick++;
}
else if(a[aquick]
{ sum-=200;
alow--; bquick++;
}
else
{ for(j=alow,h=blow;j>=aquick;j--,h--)
{ if(a[j]>b[h])
{ sum+=200; alow--; blow--;}
else
{ if(a[j]
{ sum-=200;
alow--; bquick++;}
alow=--j; blow=h; break;
}
}
}
if(alow
}
cout<
return 0;
}
//木棍
#include
#include
#include
#include
using namespace std;
struct stick
{
int l;
int w;
}s[5000];
bool cmp(stick a,stick b)
{
if(a.l
return true;
else if(a.l>b.l)
return false;
else
return a.w
}
int main()
{
int t,n,minute,ti,number;
int mark[5000];
cin>>t;
while(t--)
{
cin>>n;
for(int i=0;i
cin>>s[i].l>>s[i].w;
sort(s,s+n,cmp);
memset(mark,0,sizeof(mark));
number=0;
minute=0;
int pl;
while(number!=n)
{
for(int i=0;i
if(!mark[i])
{
pl=i;
minute++;
break;
}
for(int i=0;i
{