CSP认证201512-2 消除类游戏[C++题解]:模拟
题目分析
来源:acwing
分析:
本题类似消消乐,同一行或者同一列满足3个或者更多个同色的可以消除(数值置为0),由于数据量比较小,时间复杂度可以到O(n3)O(n^3)O(n3).
这里是对每个点,统计和它同色的点,最左边能到哪里,最右边能到哪里,最上面能到哪里,最下面能到哪里。使用四个while
循环。这是对每个点的操作,需要对图中每个点都进行这种操作,在本题的数据量下,可以过。
AC代码
#include<bits/stdc++.h>
using namespace std;
const int N = 40;
int g[N][N];
bool st[N][N];int n, m;int main(){cin >> n >> m;for(int i = 0; i < n; i ++)for(int j = 0; j < m; j ++)cin >> g[i][j];for(int i = 0; i < n; i ++){for(int j = 0; j < m; j ++){int l = j, r = j, u = i, d = i, x = g[i][j];/*以找到3个2为例:下标:0 1 2 3 4 5 6值: 1 2 2 2 3 2 4l的下标:0r的下标:4实际2的长度:3推出长度公式: r - l - 1*/while(l >= 0 && g[i][l] == x) l --; // 减到答案左边1个格while(r < m && g[i][r] == x) r ++; // 加到答案右边1个格while(u >= 0 && g[u][j] == x) u --;while(d < n && g[d][j] == x ) d ++;// 左右方向是否大于3,上下方向是否大于3st[i][j] = r - l -1 >= 3 || d - u - 1 >= 3;}}for(int i = 0; i < n; i ++){for(int j = 0; j < m; j ++)if(st[i][j]) cout << 0<<" ";else cout <<g[i][j] <<" ";cout << endl;}
}
题目链接
https://www.acwing.com/problem/content/3226/
CSP认证201512-2 消除类游戏[C++题解]:模拟相关推荐
- csp试题2:消除类游戏
csp试题2:消除类游戏 题目 分析 代码 总结 题目 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋 ...
- CCF- CSP201512-2消除类游戏 满分题解
CCF- CSP201512-2消除类游戏 满分题解 题目链接:201512-2消除类游戏 思路: 设置ans二维数组记录该坐标的位置的点是否可以被删除 分行和列单独讨论,分别记录起点位置和终点位置, ...
- CCF CSP 消除类游戏
问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...
- CCF CSP 201512-2 消除类游戏(C++语言100分)
1. 问题链接:CCF 201512-2 消除类游戏 试题编号: 201512-2 试题名称: 消除类游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 消除类游戏是深受大众 ...
- csp 201512-2 消除类游戏
题目 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子 ...
- 消除类游戏201512(C语言版)
问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...
- CCF计算机软件能力认证试题练习:201512-2 消除类游戏
消除类游戏 来源: 标签: 参考资料: 相似题目: 题目 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有 ...
- ccf题库中2015年12月2号消除类游戏
题目如下: 问题描述消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些 ...
- 消除类游戏ccf c语言,ccf试题 消除类游戏
问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...
最新文章
- 第十五课.马尔科夫链蒙特卡洛方法
- 机器学习算法------2.11 模型的保存和加载(joblib.dump()、joblib.load())
- dbunit java_Java – 让DbUnit使用Hibernate事务
- final类是否可以被代理_设计模式——代理模式
- SpringBoot 自带工具类~断言
- visual studio无法更新_VS Code Python 扩展 5 月更新
- Linux PWN从入门到熟练
- plsql只提交存储过程里的事务_plsql 存储过程 事务
- SAP License:SAP在线帮助的实现
- 干货 | 科研大牛们怎么读文献?
- 英特尔移动CPU参数表
- 视频教程-汇编语言程序设计-其他
- gradle教程java_gradle入门到精通视频教程 下载
- [Google标准文档]如何做好代码评审
- 论文阅读(Multimodal Dialog Systems via Capturing Context-aware Dependencies of Semantic Elements)
- Kerberos原理
- 易飞8无销售报价的BOM成本参考
- 2019年中国PPP管理库全项目数据
- 不可逆加密算法MD5 SHA与可逆加密算法Base64
- Altium Designer入门学习笔记和快捷键整理
热门文章
- linux 系统优化初始化配置
- Jquery中css()方法获取边框长度
- .NET 将数据输出到WORD、EXCEL、TXT、HTM
- 【.Net Micro Framework PortingKit(补) – 1】USB驱动开发
- Will Wright总是能给我们带来惊奇啊
- redis主从复制如何保证数据一致性_面试官:Redis 主从复制时网络开小差了怎么整?...
- php 格式化html,HTML代码如何格式化
- 【Paper】2020_含时延约束的多智能体系统二分一致性
- 5.3 核函数-机器学习笔记-斯坦福吴恩达教授
- DFT实际应用-User-Defined Test Points Example