0
已解决
张梓沫
资深守护
资深守护
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