弹珠游戏

博客介绍了超级弹珠游戏,游戏在n*n矩阵中,弹珠可攻击所在行、列敌人获分数。需选择位置使击杀敌人最多且不能与敌人同处。给出输入输出格式及样例,还展示了实现代码及解释,包括用count判断、k记录值等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

P1011

欢迎进入@shuai:弹珠游戏;

题目背景
元宵节不放假挺郁闷的,于是时间机智的改到了星期6一整天!

题目描述
MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏——超级弹珠。

游戏的内容是:在一个 n*n 的矩阵里,有若干个敌人,你的弹珠可以摧毁敌人,但只

能攻击你所在的行、列里的所有敌人,然后你就可以获得他们的分数之和,现在请你选择

一个你的位置,使得能击杀的敌人最多,注意,你不能和敌人在一个地方

输入输出格式
输入格式:
输入有两行,第一行一个正整数 n,接下来 n 行,每行 n 列,如果有敌人则为一个正整数,否则为 0

输出格式:
输出共一行,最多分数,如果连你的容身之地都没有,请输出“Bad Game!”

输入输出样例
输入样例#1:
4
1 1 1 0
1 1 1 1
1 1 1 1
0 1 1 1
输出样例#1:
6

代码如下:

  #include<bits/stdc++.h>
using namespace std;
int a[5000][5000];
main()
{
	int n,count=0,max=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			scanf("%d",&a[i][j]);
			if(a[i][j]==0){
				count=1;
			}
		}
	}
	if(count==0){
		printf("Bad Game!");
		return 0; 
	}
	else{
	for(int i=1;i<=n;i++){
	  for(int j=1;j<=n;j++){
		if(a[i][j]==0){
			int k=0;
			for(int l=1;l<=n;l++){
				k+=a[i][l];
			}
			for(int l=1;l<=n;l++){
				k+=a[l][j];
		}
				max=(max,k);
	}
	}	
}
         printf("%d",max);	
	}
}

代码解释:
1.这里我们用count来判断二阶矩阵是否都为0;
2.用k来记录每个0位置的行+列的值,用max()函数去最大值
3.想法很low,大佬绕行
4. ***加油努力鸭!QAQ,***,“ — “

源代码图片及运行图片如下

        相关题目:
       拼数:https://www.luogu.org/problemnew/show/P1012
       回文数:https://www.luogu.org/problemnew/show/P1015
       进制位:https://www.luogu.org/problemnew/show/P1013

发现错误。联系作者:1939096278@qq.com
欢迎联系呦 -------- QAQ ---------;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值