今年の夏休みはacしません(c言語版)

2455 ワード

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

   
   
   
   
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

 
Sample Output

   
   
   
   
5

 
Author
lcy
 
Source
ACMプログラム設計期末試験(2006/06/07)
 
Recommend
lcy   |   We have carefully selected several similar problems for you:   1050  1009  1051  1052  1789 
#include<stdio.h>
#include<algorithm>
using namespace std;
struct ac
{
    int begin;
    int end;
};
bool cmp(ac x,ac y)
{
    return x.begin<y.begin;
}
int main()
{
    int n;
    while(scanf("%d",&n),n)
    {
        int i;
        ac fun[10005];
        for(i=0;i<n;i++)
            scanf("%d%d",&fun[i].begin,&fun[i].end);
        sort(fun,fun+n,cmp);
//        puts("");
//        for(i=0;i<n;i++)
//            printf("--->%d %d
",fun[i].begin,fun[i].end); int cnt=1,start=fun[n-1].begin; for(i=n-2;i>=0;i--) { if(fun[i].end<=start)//= 24h ( 0.0) { cnt++; start=fun[i].begin; // printf("***%d %d
",fun[i].begin,fun[i].end); } } printf("%d
",cnt); } return 0; }