この夏はACではありません(C言語の実現)

問題の説明

「この夏、ACですか?」
「はい。」
「それで、あなたは何をしていますか?」
「ワールドカップを見て、ばか!」
「@#$%^&*%...」

確かに、ワールドカップがここにあり、ファンのお祭りですそれも来ており、多くのACMerもコンピュータを離れてテレビに行くと推定されています。
ファンとしては、できる限り多くの完全なゲームを見たいと思っています。もちろん、新時代の良き若者として、ニュース放送(全国のイベントを気にすることはありません)、非常に6 + 7、スーパーなど、他のいくつかの番組を間違いなく見ます。ガールズ、王小夜の「ハッピーディクショナリー」など、見たいテレビ番組の放送スケジュールはもうわかっていると思いますが、それなりの手配はしますか?(目標は、できるだけ多くの完全なプログラムを視聴することです)

 

 

入力

入力データには複数のテストインスタンスが含まれます。各テストインスタンスの最初の行には、監視するプログラムの総数を示す整数n(n <= 100)のみが含まれます。次に、n行のデータ、各行に2つのデータTi_sが含まれます。 Ti_e(1 <= i <= n)は、i番目のプログラムの開始時間と終了時間をそれぞれ表します。問題を簡単にするために、各時間は正の整数で表されます。n = 0は、入力が終了し、処理が行われないことを意味します。

 

 

出力

テストインスタンスごとに、完全に表示できるテレビ番組の数が出力され、各テストインスタンスの出力は1行を占めます。

 

 

入力例

 

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

 

 

出力例

 

5

 

 

著者

lcy

 

 

ソース

ACM期末試験(2006/06/07)

#include "stdio.h"

struct node {
	int t1;
	int t2;
};

int main() {
	struct node a[105], temp;
	int n, cnt = 1, i, k;						
	while (scanf("%d", &n) != EOF && n != 0) {
		for (i = 0; i < n; i++) {
			scanf("%d %d", &a[i].t1, &a[i].t2);
		}
		for (i = 0; i < n-1; i++) {				//冒泡排序   先按结束时间排序,在结束时间相等时,再按开始时间晚的排序 
			for (k = 0; k < n - 1; k++) { 		//想让在一定时间内看更多的节目,就需要看节目时间最短的节目 
				if (a[k].t2 > a[k+1].t2) {
					temp = a[k];
					a[k] = a[k+1];
					a[k+1] = temp;
				}
				if (a[k].t2 == a[k+1].t2) {
					if (a[k].t1 < a[k+1].t1) {
						temp = a[k];
						a[k] = a[k+1];
						a[k+1] = temp;
					}
				}
			}
		}
		int t = a[0].t2;
		for (i = 1; i < n; i++) { 			//下一个节目开始时间要在上一个节目结束时 
			if (a[i].t1 >= t) {
				cnt++;
				t = a[i].t2;
			}
		}
		printf("%d\n", cnt);
		cnt = 1;
	}

	return 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
5
0

--------------------------------
Process exited after 1.603 seconds with return value 0
请按任意键继续. . .

 

トピック:限られた時間でほとんどの番組を視聴できます。当初は総合的な配慮はありませんでしたが、最初に出現した番組の時間は別の配列でマークされており、次の時間帯に点在していると完全に視聴できません。WAの場合、問題は最適解が考慮されないことです。これは貪欲アルゴリズムです。

アルゴリズム:貪欲なアルゴリズム。最初に終了時刻で並べ替え、同じ終了時刻がある場合は、開始時刻の遅い順に並べ替えを続けます(つまり、最短の期間が最初です)。

元の記事を32件公開しました 賞賛されました0 訪問数475

おすすめ

転載: blog.csdn.net/geshifansheng_7/article/details/105066913