蒟蒻斗胆尝试CSP-S第一题qwq 不知道哪里写错了(悲
这里是蒟蒻的错误代码
#include<bits/stdc++.h>
using namespace std;
int n,m1,m2;
int ans=0;
struct Time
{
int a;
int b;
};
Time t1[10005],t2[10005];
bool cmp(Time x,Time y)
{
return x.a<y.a;
}
int main()
{
cin>>n>>m1>>m2;
for(int i=1;i<=m1;i++)
{
cin>>t1[i].a>>t1[i].b;
}
for(int i=1;i<=m2;i++)
{
cin>>t2[i].a>>t2[i].b;
}
sort(t1+1,t1+m1+1,cmp);
sort(t1+1,t1+m1+1,cmp);
for(int z=1;z<=n;z++)
{
//国内分到z个位置
int cnt1=1;//目前已占用的位置数
int ans1=0;//进入远机位的飞机数
int r1[10005];
r1[1]=t1[1].b;
for(int i=2;i<=m1;i++)//枚举飞机
{
int minn=0x3f3f3f3f,p=-1;
for(int j=1;j<=cnt1;j++)//枚举位置
{
if(t1[i].a>=r1[j]&&r1[j]<minn)
{
minn=r1[j];
p=j;
}
}
if(p!=-1)
{
r1[p]=t1[i].b;
}
else if(cnt1<z)
{
cnt1++;
r1[cnt1]=t1[i].b;
}
else
ans1++;
}
int cnt2=1;//目前已占用的位置数
int ans2=0;
int r2[10005];
r2[1]=t2[1].b;
for(int i=2;i<=m2;i++)//枚举飞机
{
int minn=0x3f3f3f3f,p=-1;
for(int j=1;j<=cnt2;j++)//枚举位置
{
if(t2[i].a>=r2[j]&&r2[j]<minn)
{
minn=r2[j];
p=j;
}
}
if(p!=-1)
{
r2[p]=t2[i].b;
}
else if(cnt2<n-z)
{
cnt2++;
r2[cnt2]=t2[i].b;
}
else
ans2++;
}
ans=min(ans,ans1+ans2);//不可以在循环内部定义ans
}
cout<<m1+m2-ans<<endl;
return 0;
}
跪谢巨佬!!!