ユニバーサルドライビングレンジ - 貪欲-P1803乱雑のYYY /カバーセグメント

タイトル説明
主要なOJ上の競争のn個の数、各ゲームの始まりがありますが、時間の終点は知ることです。

yyyは、より多くのゲームに参加するために、考えて、NOIPは、より良い(偽)をテストすることができるようになります

彼はいくつかの競技会まで参加できるのであれば、彼は疑問に思いました。

yyyはこんにゃくですので、あなたがレースに参加したい場合は、仕事を終える必要がありますが、同時に2つの以上のゲームに参加することはできません。

入力と出力のフォーマット
入力フォーマット:

最初のラインN(BI <AI)AI、BI、次のn行それぞれが2つの正の整数であり、整数であり、終了時刻を開始を表します。

出力フォーマット:

アップは競技整数の数に参加します。

入力出力サンプル
入力サンプル#1:

3
0 2
2 4
1 3

出力サンプル#1:

2
----------------
アイデア:貪欲、トップストレージクラス終了までの時間に基づいて、その後1時間のクラス、および、ゲームは、一致した場合と同時に終了開始時間は少なく、レコードの終了時間に等しいより、直接競争に参加し、その後、最終的な出力合計を++合計です。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct Node{
	int a; //start
	int b; //end
	
}x[2000010];

bool cmp(Node x,Node y){
	if(x.b == y.b) return x.a < y.a;//结束相等就按开始升序排列
	return x.b < y.b;
} 

int main(){
	int n,sum = 1, min1;
	scanf("%d",&n);
	for(int i = 1;i <= n;i++)
	cin>>x[i].a>>x[i].b;
	sort(x+1,x+n+1,cmp);
	min1 = x[1].b;
	int j = 1;
	while(j <= n){
		j++;
		if(x[j].a >= min1)
	{
		sum++;
		min1 = x[j].b;
	}
 }
	cout<<sum;
	return 0;
}
公開された80元の記事 ウォンの賞賛1 ビュー1468

おすすめ

転載: blog.csdn.net/zqhf123/article/details/104370963