题目:http://acm.hdu.edu.cn/showproblem.php?pid=2037#include<iostream> #include<algorithm> using namespace std; struct A { int c; int d; }; bool cmp(A a,A b) { return a.d<b.d; } int main() { int a,b,i,n; A e[100]; while(cin>>n&&n) { for(i=0;i<n;i++) { cin>>e[i].c>>e[i].d; } sort(e,e+n,cmp); a=1; b=e[0].d; for(i=1;i<n;i++) { if(e[i].c>=b) { a++; b=e[i].d; } } cout<<a<<endl; } return 0; } 小结:用贪心算法解决,最早结束的节目先放。