0
已解决
林芳
高级守护
高级守护
2774 弹珠游戏经验值:1200
题目描述 Description
酷町喵最近发掘了一个骨灰级别的游戏——超级弹珠。
游戏的规则为:在一个 n*n 的矩阵里,有若干个敌人,你的弹珠可以摧毁敌人,但只能攻击你所在的行、列里的所有敌人,然后你就可以获得他们的分数之和,现在请你选择一个你的位置,使得能击杀的敌人最多。
注意,你不能和敌人在一个地方。
输入描述 Input Description
第一行:一个正整数 n
接下来 一个n*n的矩阵,矩阵的每个元素为一个整数,如果有敌人则为一个正整数,否则为 0
输出描述 Output Description
一行,能获得的最多的分数,如果连你的容身之地都没有,则输出“Bad Game!”
样例输入 Sample Input
4 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1
样例输出 Sample Output
6
数据范围及提示 Data Size & Hint
1≤n≤1000,保证容身之地的数量小于 10000
#include<bits/stdc++.h>
using namespace std;
int a[1001][1001],n;
int cnt,sum;
int main(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
bool flag=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]==0){
//不会
flag=1;
}
sum=max(sum,cnt);
}
}
if(flag==0)
cout<<"Bad Game!";
else
cout<<sum;
return 0;
}