求助!
查看原帖
求助!
133034
BetrayalObedience楼主2022/8/2 15:44
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int r,c,n,a[1001][1001],x[1001],y[1001];
int main()
{
	cin>>r>>c>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>x[i]>>y[i];
		a[x[i]][y[i]]=1;
	}
	int f1,f2,s=0;
	for(int i=1;i<=r;i++)
	{
		for(int j=1;j<=c;j++)
		{
			f1=0;
			f2=0;
			if(a[i][j])
			{
				for(int k=1;k<i;k++)
				{
					if(a[k][j]) 
					{
						f1=1;
						break;
					}
				}
				for(int k=j+1;k<=c;k++)
				{
					if(a[i][k]) 
					{
						f2=1;
						break;
					}
				}
			}
			if(f1==1&&f2==1) s++;
		}
	}
	if(s==0) 
	{
		cout<<0;
		return 0;
	}
	if(s>=2)
	{
		cout<<-1;
		return 0;
	}
	cout<<1<<endl;
	int f3,f4,f,ans=0;
	for(int i=1;i<=n;i++)
	{
		a[x[i]][y[i]]=0;
		ans=0;
		for(int j=1;j<=r;j++)
		{
			for(int k=1;k<=c;k++)
			{
			    f=0;
	         	f3=0;
	        	f4=0;
				if(a[j][k]==1)
				{
					f=1;
					for(int p=1;p<j;p++)
					{
						if(a[p][k]) 
						{
							f3=1;
							break;
						}
					}
					for(int p=k+1;p<=c;p++)
					{
						if(a[j][p]) 
						{
						    f4=1;
							break;	
						}
					}
				}
				if((f3==0||f4==0)&&(f==1))
				{
					ans++;
				}
			}
		}
		if(ans==n-1)
		{
			cout<<i;
			return 0;
		}
		a[x[i]][y[i]]=1;
	}
}
2022/8/2 15:44
加载中...