WA32pts求调
查看原帖
WA32pts求调
502314
Just_A_Sentence楼主2025/7/27 19:45
#include<bits/stdc++.h>
using namespace std;
int stu[1005];
struct rs{
	int rID,sID,s,t;
}ss[100005];
int tot=0;
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		string s;
		cin>>s;
		if(s=="reserve"){
			int sID,rID,a,b,t,st;
			scanf("%d %d %d:%d %d",&sID,&rID,&a,&b,&t);
			st=a*60+b;
			t=st+t-1;
			if(stu[sID]>=3){
				printf("FAIL\n");
				continue;
			}
			if(t-st+1>120){
				printf("FAIL\n");
				stu[sID]++;
				if(stu[sID]>=2){
					for(int i=1;i<=tot;i++){
						if(ss[i].sID==sID) ss[i].rID=ss[i].sID=ss[i].s=ss[i].t=0;
					}
				}
				continue;
			}			
			for(int i=1;i<=tot;i++){
				if(ss[i].sID==0) continue;
				if(((ss[i].rID==rID)||(ss[i].sID==sID))&&((ss[i].s>=st&&ss[i].s<=t)||(ss[i].t>=st&&ss[i].t<=t)||(ss[i].s<=st&&ss[i].t>=st)||(ss[i].s<=t&&ss[i].t>=t))){
					printf("FAIL\n");
					if(ss[i].sID==sID){
						stu[sID]++;
						if(stu[sID]>=2){
							for(int j=1;j<=tot;j++){
								if(ss[j].sID==sID) ss[j].rID=ss[j].sID=ss[j].s=ss[j].t=0;
							}
						}
					}
					goto abc;
				}
			}
			ss[++tot].sID=sID;
			ss[tot].rID=rID;
			ss[tot].s=st;
			ss[tot].t=t;
			printf("SUCCESS %d\n",tot);
		}
		else{
			int x;
			scanf("%d",&x);
			if(ss[x].sID==0||x>tot||x<1) printf("FAIL\n");
			else{
				ss[x].rID=ss[x].sID=ss[x].s=ss[x].t=0;
				printf("SUCCESS\n");
			}
		}
		abc:
			;
	}
	return 0;
}
2025/7/27 19:45
加载中...