1
已解决
吕梓瑜
初级天翼
初级天翼
请问2624这样写,为什么是10分?
#include<bits/stdc++.h>
#include<algorithm>
#include<iostream>
#include<iomanip>
#include<cstring>
#include<string>
#include<cstdio>
#include<cmath>
using namespace std;
struct f{
int s,e;
}a[350];
bool cmp(f a,f b){
if(a.e!=b.e)return a.e<b.e;
return a.s>b.s;
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int n,c=0,st1=-1,st2=-1,end1=0,end2=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s>>a[i].e;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
if(a[i].s>=end1){
c++;
end1=a[i].e;
}
if(a[i].s>=end2){
c++;
end2=a[i].e;
}
}
cout<<c;
//fclose(stdin);
//fclose(stdout);
return 0;
}
https://ke.codingtang.com/#/problem/problemSub?id=2624
请给出这样的回答:
或:
谢啦~
吕梓瑜在2021-09-21 18:26:30追加了内容
人呢?!
0
已采纳
王文博
缔造者之神
缔造者之神
这道题目用的是贪心算法
思路:
如果录像机1能录制,2不能录制,就让录像机1录制;
如果录像机1不能录制,2能录制,就让录像机2录制。
注意!!!!!
如果录像机1,2都能录制,选择结束时间晚的摄像机录制,留下结束时间早的摄像机,可以使得后续选择范围更大。(你好像忘了…………)
望采纳!
1
0
0
0
0
0
0