P2356 弹珠游戏


P2356 弹珠游戏
分析
对于某个位置为0的所在行和所在列求和,并求最大值,本题的关键如何快速求是这n*n(最多10000)个值,在输入时预处理每行每列敌人的数量。

#include
using namespace std;
const int Maxn=1010;
struct xy{
	int x;
	int y;
} XY[Maxn*10];//能击杀的敌人的位置
int L[Maxn],R[Maxn]; 
int main()
{
	int n;
	cin>>n;
	int k=0;
	for (int i=1;i<=n;i++)
	{
		for (int j=1;j<=n;j++)
		{
			int a;
			cin>>a;
			if (a==0)
			{
				XY[k].x=i;
				XY[k].y=j;
				k++;
			}
			L[i]+=a;//统计每行的敌人数量
			R[j]+=a;//统计每列的敌人数量
		}
	}
	if(k==0)//没有能击杀的敌人的位置
	{
		cout<<"Bad Game"<