杭州エレクトリックOjをブラシタイトル(2037)

この夏はACではありません

件名の説明:

「ACなしでこの夏?」
「はい。」「何が
あなたがやっている?」
「うん、愚かなワールドカップを見て!」
「@ #$%^&*%...」

確かに、ワールドカップ祭りのファンにまた、それは多くのACMerがテレビに向かって、コンピュータを脇に置くだろうと推定し、来ました。
ファンとして、私たちは完全なゲームの多くとして見たい、もちろん、良い若者の新しい時代として、あなたはまた、このようなニュースネットワークなど、いくつかの他のプログラム、(国事を心配することを決して忘れない)を見なければならない、6 + 7、スーパーでその上女の子、そして「幸せな辞書」の王小鴨と、すべてのテレビ番組の放送スケジュールを見るのが好きあなたはすでにあなたを知っていると仮定すると、あなたはそれを手配しますか?(目標は、完全なプログラムの多くとして確認することです)

入力

入力された試験例の複数を含むデータ、唯一の整数各テストケースの最初の行のN(N <= 100)、次の2つのデータTi_sを含む各行は、N行、のようなプログラムの総数を表し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<stdio.h>                  //贪心算法 (也可以认为是动态规划) 
int main(){
    int n,i,j,count,temp;
    int ts[101],te[101];
    while(scanf("%d",&n)!=EOF){
    	if(n==0)break;            //n=0表示输入结束,不做处理。
    	for(i=0;i<n;i++){
    		scanf("%d",&ts[i]);
    		scanf("%d",&te[i]);
		}
		for(i=0;i<n;i++){         //将时间从小到大排序 
			for(j=i;j<n-1;j++){
				if(te[i]>te[j+1]){
					temp=ts[i];ts[i]=ts[j+1];ts[j+1]=temp;
				    temp=te[i];te[i]=te[j+1];te[j+1]=temp;
				}
			}
		}
        count=1;                  //依次添加数据到集合 
        int k=te[0];
        for(i=1;i<n;i++){         
        	if(k<=ts[i]){
        		k=te[i];
        		count++;
			}
		}
		printf("%d\n",count);
    }
    return 0;
}

 

发布了55 篇原创文章 · 获赞 0 · 访问量 1002

おすすめ

転載: blog.csdn.net/ZhangShaoYan111/article/details/104202436