C/C++アルゴリズム分析と設計:欲張り(今年の夏休みはACしない)

1613 ワード

タイトルの説明
「今年の夏休みはACじゃないの?」「はい」「じゃあ、何してるの?」「ワールドカップを見て、バカ!」“@#$%^&*%...” 確かに、ワールドカップが来て、ファンの祝日も来て、多くのACMerもパソコンを捨てて、テレビに向かっていると思います.ファンとして、できるだけ多くの完全な試合を見たいと思っています.もちろん、新時代の良い青年として、あなたはきっと他の番組を見ます.例えば、ニュースの連播(XXXの大事に関心を忘れないでください)、非常に6+7、スーパー女子学生、王小娘の「楽しい辞典」など、あなたが好きなテレビ番組の中継スケジュールをすべて知っているとします.合理的に手配しますか?(できるだけ多くのフル番組が見られるのが目標)
入力
入力データには複数のテストインスタンスが含まれており、各テストインスタンスの最初の行には整数n(n<=100)が1つしかなく、好きな番組の総数を表し、次いでn行のデータであり、各行には2つのデータTi_が含まれている.s,Ti_e(1<=i<=n)は、i番目の番組の開始時間と終了時間をそれぞれ表し、問題を簡略化するために、各時間を正の整数で表す.n=0は入力終了を示し、処理を行わない.
しゅつりょく
        ,               ,            。

サンプル入力
12
1 3
3 4
0 7
3 8
15 19
15 20
10 15
8 18
6 12
5 10
4 14
2 9
0
#include
int main()
{
	int n,a[100][2],i,t1,t2;
	while(scanf("%d",&n)!=EOF)
	{
		int s=0,t=0,j;
		if(n==0)  break;
		for(i=0;ia[j][1])
    	       {
    	       	  t1=a[i][0];a[i][0]=a[j][0];a[j][0]=t1;
    	       	  t2=a[i][1];a[i][1]=a[j][1];a[j][1]=t2;
    	       }
    	for(i=0;i=t){  s++;  t=a[i][1];		}  
    	}
    	printf("%d
",s); } } #include int main() { int n,a[101][2]; while(scanf("%d",&n)==1) { if(n==0) break; int i,j,p,t=1; for(i=0;ia[j][1]) p=j; if(p!=i) { int r1; r1=a[p][1];a[p][1]=a[i][1];a[i][1]=r1; r1=a[p][0];a[p][0]=a[i][0];a[i][0]=r1; } } for(i=1,j=0;i=a[j][1]) {t++;j=i;} printf("%d
",t); } }