洛谷 P2356 【弹珠游戏】题解
自我感觉应该没有用结构体做的吧
这道题其实非常水
很适合初学贪心的同学做一下
我好像没有用贪心做,嘻嘻
首先先读题,
题目中说这个游戏只能消灭当前所在位置的行、列的敌人
首先特判一下:
	if(tt==1)
	{
		cout<<"Bad Game!"<<endl;
		return 0;
	}
这个里面的tt指的是有没有落脚点,但是我为了好存结构体
所以我一开始初始化的值为一
然后就特判是否为一,也就是有没有落脚点
然后开始挨个从能落脚的地方枚举:
		for(int i=1;i<=tt;i++)
		{
			int sum1=0;
			for(int j=1;j<=n;j++)
			{
				sum1+=map[j][zuo[i].y];
			}
			for(int j=1;j<=n;j++)
			{
				sum1+=map[zuo[i].x][j];
			}
			maxn=max(maxn,sum1);
		}
第一层是枚举所有的落脚点
第二层是枚举当前落脚点所在的行,列的值,然后加起来
最后比较一下,选出最大值,再输出就好了
完整代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int map[1010][1010];
struct node
{
	int x;
	int y;
}zuo[10001];
int main()
{
	int n;
	cin>>n;
	int tt=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>map[i][j];
			if(map[i][j]==0)
			{
				zuo[tt].x=i;
				zuo[tt].y=j;
				tt++;
			}
		}
	}
	int maxn=0;
	if(tt==1)
	{
		cout<<"Bad Game!"<<endl;
		return 0;
	}
	else
	{
		for(int i=1;i<=tt;i++)
		{
			int sum1=0;
			for(int j=1;j<=n;j++)
			{
				sum1+=map[j][zuo[i].y];
			}
			for(int j=1;j<=n;j++)
			{
				sum1+=map[zuo[i].x][j];
			}
			maxn=max(maxn,sum1);
		}
	}
	cout<<maxn<<endl;
	return 0;
}洛谷 P2356 【弹珠游戏】题解的更多相关文章
- 洛谷 P2356 弹珠游戏
		题目链接:https://www.luogu.org/problemnew/show/P2356 题目 题目描述 MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏——超级弹珠. ... 
- 洛谷OJ P2356 弹珠游戏 维护前缀和
		题目描述 Description MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏--超级弹珠. 游戏的内容是:在一个 n*n 的矩阵里,有若干个敌人,你的弹珠可以摧毁敌人,但只 ... 
- 洛谷P1123取数游戏题解
		题目 这是一道简单的搜索题,考查的还是比较基础的东西,其时搜索有时候并不难写,主要是要想到怎么搜.比如这个题,如果想二维四个方向搜则没有头绪,反之因为搜索是用递归实现的,所以我们可以使用递归的特性,把 ... 
- BZOJ5323 & 洛谷4562:[JXOI2018]游戏——题解
		https://www.luogu.org/problemnew/show/P4562 https://www.lydsy.com/JudgeOnline/problem.php?id=5323 (B ... 
- 洛谷P1129 [ZJOI2007]矩阵游戏 题解
		题目链接:https://www.luogu.org/problemnew/show/P1129 分析: 这道题不是很好想,但只要想的出来,代码不成问题. 思路1 举几个例子,我们发现, 对于任何数来 ... 
- 洛谷P1640 [SCOI2010]连续攻击游戏 题解
		题目链接: https://www.luogu.org/problemnew/show/P1640 分析: 这道题用二分图来解决即可.应该可以作为网络流中的模板题来食用, 每一个武器有两个属性,但是只 ... 
- 洛谷P1488 肥猫的游戏 题解 博弈论入门
		题目链接:https://www.luogu.org/problem/P1488 其实这道题目我只需要 \(n\) 以及黑色三角形的三个端点编号就可以了. 我们假设在一个 \(n\) 边形中,黑色三角 ... 
- 洛谷P1783  海滩防御 分析+题解代码
		洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ... 
- 洛谷P1274-魔术数字游戏
		Problem 洛谷P1274-魔术数字游戏 Accept: 118 Submit: 243Time Limit: 1000 mSec Memory Limit : 128MB Probl ... 
- ios版弹珠游戏源码
		这个是我们比较喜欢玩的一直小游戏的,ios版弹珠游戏源码,该游戏源码来着IOS教程网其他网友提供上传的,大家可以了解一下吧. nore_js_op> <ignore_js_op&g ... 
随机推荐
- intellij idea 修改背景保护色&&修改字体&&快捷键大全
			intellij idea 修改背景保护色&&修改字体&&快捷键大全 原创 2013年11月22日 18:00:07 90176 最近Idea比较流行,Eclipse因 ... 
- Windows 查看端口占用进程并关闭
			当我们在运行一些软件需要特定软件(如tomcat)时,有可能会碰上端口被占用的情况,这时候我们可能就需要更改端口或把占用端口的进程结束掉,因为更换端口可能会导致当前环境产生一些的问题或是需要重新配置其 ... 
- 冒泡排序法vs快速排序法
			闲着没事,想思考一下两种排序法的直观对比,写了个小程序,代码如下,分析见后面: class Program { static DateTime t1, t2; static TimeSpan ts1, ... 
- typing类型注解库
			简介 动态语言的灵活性使其在做一些工具,脚本时非常方便,但是同时也给大型项目的开发带来了一些麻烦. 自python3.5开始,PEP484为python引入了类型注解(type hints),虽然在p ... 
- Javascript中创建函数的几种方法
			// 工厂函数模式 // 无法解决对象识别问题 function person0(name, age, job) { var obj = new Object(); obj.name = name; ... 
- vue项目打包采坑
			1. vue项目打包采坑 1.1. vue运行报错error:Cannot assign to read only property 'exports' of object '#' 这个错误我是在打包 ... 
- Beego 学习笔记14:Session控制
			Session控制 1> Session常用来作为全局变量使用,比如记录当前登录的用户,或者页面之间传递数据使用. 2> Beego框架内置了 session 模块,目前 ... 
- 什么是MVC框架?
			1.什么是mvc Model View Controller,是模型-视图-控制器的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里,在改进和个性化 ... 
- php集成开发环境搭建三种方式
			三种方式都是一键搭建php开发环境 三种方式前提都是在linux下 wamp和phpstudy就不再用了 首先打造linux开发环境,通过vagrant+vbox实现本地文件同步到虚拟机上进行同步开发 ... 
- warning警告问题解决1
			warning警告问题, 这时可以不去管它, 但如果想解决, 可以这样做: c:\python\lib\site-packages\locust\core.py:17: MonkeyPatchWarn ... 
