问题标题: 酷町堂:2624

1
0
已解决
吕梓瑜
吕梓瑜
初级天翼
初级天翼

请问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
李瑞曦
李瑞曦
高级天翼
高级天翼

目前至看到了2处:

1.cmp函数直接比较右端点就行了

2.在35行后面加一个if:

if(end1<end2){ swap(end1,end2); }

你试试这样改

我要回答