HELP!!
查看原帖
HELP!!
858275
youshuohan楼主2023/6/20 20:08
#include <bits/stdc++.h>
using namespace std;
int r,c,n;
struct cows
{
	int x,y;
};
cows in[300];
int a[233][233];
bool safety(int num)
{
	a[in[num].x][in[num].y]=0;
	int f1=0,f2=0;
	for(int i=1;i<=r;i++)
	{
		for(int j=1;j<=c;j++)
		{
			if(a[i][j]==1)
			{
				f1=1,f2=1;
				for(int k=j+1;k<=c;k++)
				{
					if(a[i][k]==1)
					{
						f1=0;
						break;
					}
				}
				if(f1==1) continue;
				for(int k=i-1;k>=1;k--)
				{
					if(a[k][j]==1)
					{
						f2=0;
						break;
					}
				}
				if(f2==0&&f1==0)
				{
					a[in[num].x][in[num].y]=1;
					return 0;
				}
			}
		}
	}
	a[in[num].x][in[num].y]=1;
	return 1;
}
int main(){
	cin>>r>>c>>n;
	for(int i=1;i<=r;i++)
	{
		for(int j=1;j<=c;j++) a[i][j]=0;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>in[i].x>>in[i].y;
		a[in[i].x][in[i].y]=1;
	}
	if(safety(0))
	{
		cout<<0;
		return 0;
	}
	int f1=0;
	for(int i=1;i<=n;i++)
	{
		if(safety(i))
		{
			f1=1;
			cout<<i<<endl;
		}
	}
	if(f1==0) cout<<-1;
	return 0;
}

70

2023/6/20 20:08
加载中...