题目:http://acm.hdu.edu.cn/showproblem.php?pid=2037
方法:使用了贪心算法,只要求后面的一列数即可,就是对后面的一列数进行排序,然后一个一个的找出来,主要是要想到关键的是后面的一列数。
#include<iostream>
using namespacestd;
int main()
{ int n,s,t1[100],t2[100],i,t,j;
while(cin>>n)
{
if(n==0)break;
s=1;
for(i=0;i<n;i++)
{
cin>>t1[i]>>t2[i];
}
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
{
if(t2[j]>t2[j+1])
{ t=t2[j];
t2[j]=t2[j+1];
t2[j+1]=t;
t=t1[j];
t1[j]=t1[j+1];
t1[j+1]=t;
}
}
i=0;
for(j=1;j<n;j++)
{
if(t1[j]>=t2[i])
{
i=j;
s+=1;
}
}
cout<<s<<endl;
}
return 0;
}