问题标题: 酷町堂:1413 区间选点

0
0
已解决
张梓沫
张梓沫
资深守护
资深守护

点我查看题目

点我查看20分错误详情(我也不知道能不能看)

em······

发个错误截图吧

#include<bits/stdc++.h>
using namespace std;
int n,sum=1;
struct zb
{
	int start,end;
}s[110];
bool cmp(zb a,zb b)
{
	if(a.end==b.end) return a.end>b.end;
	return a.start<b.start;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>s[i].start>>s[i].end;
	sort(s+1,s+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(s[i].end<s[i+1].start)
			sum++;
	}
	cout<<sum;
	return 0;
}

WA 20分

帮忙···

张梓沫在2019-01-26 22:23:36追加了内容

为了让大佬们方便解答,贴个题目上来

 

1413   区间选点

题目描述 Description

小C喜欢数学,最近学了坐标区间的概念,于是自己想了一个题目,他找了一些坐标区间,每一个区间的左右端点已知,然后他想选取尽可能少的点,使得给定的每一个坐标区间都至少有一个点在里面,于是他想用计算机编程来解决这个问题,请聪明得你帮小C计算一下至少应该在区间里面选择多少个点?

输入描述 Input Description

输入为n+1行,第一行为一个整数n(N≤100),表示小C选取的区间个数;
接下来的n行,每行有两个整数a,b(0≤a≤b≤100),分别表示每一个区间的左右两个端点。

输出描述 Output Description

输出为一行,位一个整数,表示应该在区间里面选取的最少的点数

样例输入 Sample Input


 

样例1:
4
1 5
2 4
1 4
2 3
——————————————————————
样例2:
3
1 2
3 4
5 6

样例输出 Sample Output


 

样例1:
1
———————————————————————
3

 

 


0
0
我要回答