满意答案
dageng26
推荐于 2017.12.15
采纳率:53% 等级:8
已帮助:515人
我用的编译器是DEV-C++,代码如下:
#include
#include
int beg[1000],end[1000];
int m[10001];
int half(int a,int b)
{
int teb,tee;
int i,k;
teb=beg[a];
tee=end[a];
i=a;
k=b;
while(i
{
while(teb<=beg[k]&&i!=k) k--;
beg[i]=beg[k];
end[i]=end[k];
while(teb>=beg[i]&&i!=k) i++;
beg[k]=beg[i];
end[k]=end[i];
}
beg[i]=teb;
end[i]=tee;
return i;
}
void quick(int a,int b)
{
int mid;
mid=half(a,b);
if(a
if(mid+1
}
int main(int argc, char *argv[])
{
int n,sum=0;
int i,k;
memset(m,0,sizeof(m));/*置0*/
scanf("%d",&n);
for(i=0;i
quick(0,n-1);/*快速排序*/
for(i=0;i
{
for(k=beg[i]+1;k<=end[i];k++) m[k]++;
}
for(i=0;i<=10000;i++)
if(m[i]>sum) sum=m[i];
printf("%d",sum);/*sum表示最少会议室*/
system("PAUSE");
return 0;
}
00分享举报