排队打饭,测试题目给的数据没问题,但是提交没过,可能审错题了
#include<stdio.h>
#include<iostream>
#include<string>
#include<set>
#include<sstream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
int main()
{
int t,i,j,k;
int n;int m=0;
//int l[n],r[n],c[n];
cin>>t;
while(t--){
m=0;
cin>>n;
vector<int> l(n+1),r(n+1),c(n+1);
//int l[n];int r[n];int c[n];
for(i=1;i<=n;i++) {cin>>l[i];cin>>r[i];c[i]=0; }
for(i=1;i<=n;i++) {if(r[i]>m) m=r[i]; }
for(i=1;i<=m;i++) {
j=1;k=-1;
while(j<=n){
if(l[j]<=i&&r[j]>=i&&c[j]==0) {
//c[j]=i;k=j;
if(l[j]<l[k]&&k>0) {c[j]=i;c[k]=0;k=j;}
if(k==-1) {c[j]=i;k=j;}
}
j++;
}
}
for(i=1;i<=n;i++) {if(i==n) cout<<c[i];
else cout<<c[i]<<" "; }
cout<<endl;
}
return 0;
}