51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
#include<cstring>
|
|
#include<cmath>
|
|
#include<iostream>
|
|
#include<cstdio>
|
|
#include<cstdlib>
|
|
using namespace std;
|
|
long a[5001][5001],ans[5001],f[5001];
|
|
long xmin[5001],xmax[5001],ymin[5001],ymax[5001];
|
|
bool b[501];
|
|
char s[5001];
|
|
int main()
|
|
{
|
|
long n,m,i,j,k,x,y,l;
|
|
bool bo,boo;
|
|
memset(b,true,sizeof(b));
|
|
memset(a,0,sizeof(a));
|
|
memset(f,0,sizeof(f));
|
|
cin>>n;
|
|
for (i=1; i<=n; i++){
|
|
cin>>xmin[i]>>xmax[i]>>ymin[i]>>ymax[i];
|
|
}
|
|
for (i=1; i<=n; i++){
|
|
cin>>x>>y;
|
|
for (j=1; j<=n; j++)
|
|
if((x>=xmin[j])&&(x<=xmax[j])&&(y>=ymin[j])&&(y<=ymax[j]))
|
|
{
|
|
a[i][0]++; a[i][a[i][0]]=j;
|
|
f[j]++; }
|
|
}
|
|
boo=true;
|
|
for (k=1; k<=n; k++)
|
|
{
|
|
bo=false;
|
|
for (i=1; i<=n; i++)
|
|
if (b[i]==true){
|
|
for (j=1; j<=a[i][0]; j++)
|
|
if (f[a[i][j]]==1){
|
|
for (l=1; l<=a[i][0]; l++) f[a[i][l]]--;
|
|
bo=true; ans[i]=a[i][j]; b[i]=false;
|
|
break;
|
|
}
|
|
if (bo==true) break;
|
|
if (i==n) boo=false;
|
|
}
|
|
if(boo==false) break;
|
|
}
|
|
for (i=1; i<=n; i++) s[i]=i+64;
|
|
if (boo==false) cout<<"None";
|
|
else for(i=1; i<=n; i++) cout<<s[i]<<" "<<ans[i]<<endl;
|
|
}
|
|
|