阅读 78

AcWing 第15场周赛

#include
#include
#include
#include
#include

using namespace std;
int n,k;
int t; 
int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); 
    cin>>t;
    while(t--){
        srand((unsigned int)(time(0)));
        int l,r,nl,nr;cin>>l>>r>>nl>>nr;
        int a=rand()%r+l,b=rand()%nr+nl;
        while(1){
            a=rand()%r+l;
            b=rand()%nr+nl; 
            if(a!=b && b<=nr && b>=nl && a>=l && a<=r) break;
        } 
        cout<

看懂题意,模拟就行了

排序时按照编号大小排序,因为给定的l是非降序的,所以只需要根据编号排序

从头开始枚举,每次做四件事
1.如果这个同学的时间超了就跳过后续三件事
2.如果这个同学的入队时间大于上个人打饭时间,时间就调整为当前入队时间
3.记录这个同学的打饭时间
4.时间+1(因为打饭需要一分钟

#include
#include
#include
#include

using namespace std;
int n;
int t;const int maxn=1e3+10; 
struct node{
	int p,l,r;
}e[maxn];
bool cmp(node a,node b){
	return a.p>t;
	while(t--){
		cin>>n;memset(ans,0,sizeof(ans));
		for(int i=1;i<=n;++i) cin>>e[i].l>>e[i].r,e[i].p=i;
		sort(e+1,e+1+n,cmp);
		int head=1;
		for(int i=1;i<=n;++i){
			node a=e[i];
			if(head>a.r) continue; 
			if(head

原文:https://www.cnblogs.com/guiyou/p/15201328.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐