记录编号 165330 评测结果 AAA
题目名称 烦人的幻灯片 最终得分 100
用户昵称 Gravatar一個人的雨 是否通过 通过
代码语言 C++ 运行时间 0.001 s
提交时间 2015-06-11 07:30:49 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,sum,num=0,cnt=0;
int x1[30],x2[30],x3[30],y1[30],y2[30],y3[30];
int ans[30],tp[30],tot=0;
int r[30],c[30],a[30][30];
int numm[30],temp;
int b[30][30];
bool flag[30]={0},f[30]={0};

int check(int x,int y)
{
	if (x3[y]>=x1[x]&&x3[y]<=x2[x])
	{
		if ((y3[y]>=y1[x]&&y3[y]<=y2[x])||(y3[y]<=y1[x]&&y3[y]>=y2[x]))
		 return 1;
	}
	else if (x2[y]<=x1[x]&&x3[y]>=x2[x])
	{
		if ((y3[y]>=y1[x]&&y3[y]<=y2[x])||(y3[y]<=y1[x]&&y3[y]>=y2[x]))
		 return 1;
	}
	return 0;
}

int main()
{
	freopen("slides.in","r",stdin);
	freopen("slides.out","w",stdout);
	cin>>n;
	for (int i=1;i<=n;++i)
	{
		scanf("%d%d%d%d",&x1[i],&x2[i],&y1[i],&y2[i]);
		numm[i]=i;
	}
	for (int i=1;i<=n;++i)
	{
		scanf("%d%d",&x3[i],&y3[i]);
		for (int j=1;j<=n;++j)
		{
			if (check(j,i))
			{
				c[j]++;
				a[j][c[j]]=i;
				r[i]++;
				b[i][r[i]]=j;
			}
		}
	}
	for (int i=1;i<=n;++i)
	{
	 if (c[i]==1)
	  ans[++tot]=i;
    }
	do
	{
		temp=ans[tot];
		tot--;
		num++;
		for (int i=1;i<=c[temp];++i)
		{
		 if (!flag[a[temp][i]]) tp[temp]=a[temp][i];
		 flag[a[temp][i]]=1;
	    }
		for (int i=1;i<=r[tp[temp]];++i)
		{
			if (c[b[tp[temp]][i]]==num)
			{
			 ans[++tot]=b[tp[temp]][i];
		    }
		}
	}
	while (num!=n+1);
	if (tp[1]==0) cout<<"None";
	else 
	for (int i=1;i<=n;++i)
		cout<<char(i+64)<<" "<<tp[i]<<endl;
	return 0;
}