题目描述
sdut 大学生艺术中心每天都有n个活动申请举办,但是为了举办更多的活动,必须要放弃一些活动,求出每天最多能举办多少活动。
输入
输入包括多组输入,每组输入第一行为申请的活动数n,从第2行到n+1行,每行两个数,是每个活动的开始时间b,结束时间e;
输出
输出每天最多能举办的活动数。
示例输入
12 15 20 15 19 8 18 10 15 4 14 6 12 5 10 2 9 3 8 0 7 3 4 1 3
示例输出
5
#include<stdio.h> int main() { int n,i,j,a[50][5],t,c,e; while(scanf("%d",&n)!=EOF) { e=1; for(i=1; i<=n; i++) for(j=1; j<=2; j++) scanf("%d",&a[i][j]); for(i=1; i<n; i++) for(j=i+1; j<=n; j++) { if(a[i][2]>a[j][2]) { t=a[i][2]; a[i][2]=a[j][2]; a[j][2]=t; t=a[i][1]; a[i][1]=a[j][1]; a[j][1]=t; } } i=1; while(i!=n) { c=0; for(j=i+1; j<=n; j++) { if(a[j][1]>=a[i][2]) { c=1; i=j; e++; break; } } if(c==0) break; } printf("%d\n",e); } return 0; }