hrbust 1699 矩阵游戏【枚举找规律】
矩阵游戏 | ||||||
|
||||||
Description | ||||||
Dream和Griselda玩腻了硬币游戏,于是就找来小胖子一起玩矩阵游戏。 在一个n*n的01矩阵A里,Dream要求在这个矩阵中不能存在两个1相邻,Griselda要求在这个矩阵中每个元素必须满足 Ai, j = An - i - 1, j 和 Ai, j = Ai, n - j - 1.(下标从0开始) 小胖子又苦恼了~你可以帮助他么? |
||||||
Input | ||||||
本题有多组测试数据,每组测试数据有一行。 每行输入一个整数x (1 ≤ x ≤ 100)。 |
||||||
Output | ||||||
每组输出占一行,输出n的最小值。 | ||||||
Sample Input | ||||||
4 9 |
||||||
Sample Output | ||||||
3 5 |
||||||
Hint | ||||||
Author | ||||||
sunshine@hrbust |
思路:
1、首先确定,一个偶数的正方形是不可能达到最优解的。
2、然后我们枚举每一个奇数的极限情况(这里枚举前几个):
1 |
n==1时 ans=1
1 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 1 |
n==2时,ans=3
n==3时,这个矩阵不能够放置成功,那么ans=5
n==4时,ans=3
n==5时,ans=3
1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
枚举可以发现n为6-13的时候,ans=7
1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 |
同样可以通过枚举发现,n为14-25的时候,ans=9.
那么发现这样一个规律:对应每一个奇数*奇数的矩阵,其可以放置的最大1的数量,能够作为一个分界点。n==3的时候是一个特殊例外,特判即可。
那么Ac代码:
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{int n;while(~scanf("%d",&n)){if(n==1)printf("1\n");else if(n==2)printf("3\n");else if(n==3)printf("5\n");else if(n==4)printf("3\n");else if(n==5)printf("3\n");else if(n>=6&&n<=13)printf("5\n");else if(n>=14&&n<=25)printf("7\n");else if(n>=26&&n<=41)printf("9\n");else if(n>=42&&n<=61)printf("11\n");else if(n>=62&&n<=85)printf("13\n");else printf("15\n");}
}
hrbust 1699 矩阵游戏【枚举找规律】相关推荐
- 【枚举找规律】记一次找规律题 埃匹希斯水晶
UPC Contest2394 - 2020年春混合个人训练第八场问题 A: 埃匹希斯水晶 题目描述 ⼤家都知道,卡德加是⼀个神奇的法师. 有⼀天,他发现了⼀种可以作⽤在埃匹希斯⽔晶上的魔法:在左右两 ...
- hdu 5504(枚举+找规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 官方题解: 注意先特判0 的情况:如果读入的数据有0 ,那么去掉所有的0 且最后答案和0 取一个 ...
- hdu 小t的游戏(找规律)
小t的游戏 Problem Description 小t有点神经质,喜欢发明一些稀奇古怪的游戏,比如说左手和右手打架就是他发明的. 这个周末,小t又发明了一个有趣的硬币游戏:小t手里有6枚硬币,他把硬 ...
- wikioi之1160 蛇形矩阵 之找规律
题目 找规律模拟蛇形矩阵构造的方法 以输入7为例 0 1 2 3 4 5 6 中心位置的坐标直接为 n/2取整即可得到 然后从中位置开始按照逆时 ...
- 【AtCoder - 2554】Choose Integers (找规律,或枚举)
题干: Problem Statement We ask you to select some number of positive integers, and calculate the sum o ...
- 【HDU - 5963】朋友(博弈,思维,必胜态必败态,找规律)
题干: B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始, ...
- 【8.6】代码源 - 【前缀集】【矩阵游戏】【谁才是最终赢家?】【放置多米诺骨牌】
#930. 前缀集 题意:给定两个长为 n ( 1 ≤ n ≤ 5 × 1 0 5 ) n(1\leq n\leq 5\times 10^5) n(1≤n≤5×105) 的序列 a i , b i a ...
- UESTC 1808 琪露诺的算术教室 打表+特判(找规律)
题目 琪露诺是个聪明的精灵,她非常擅长和数字有关的游戏 . 直到有一天灵梦进入了迷雾深林,她遇见了琪露诺,并向她提出了一个问题. 统计n个一位数字a组成的数乘以一位数b的结果中有多少个一位数字d.不超 ...
- 点分治问题 ----------- P3727 曼哈顿计划E[点分治+博弈SG函数打表找规律]
题目链接 解题思路: 1.首先对于每个操作我们实际上是一个博弈问题 对于k=1的操作就是很基础的NIM游戏就是找到一条链的异或和为0 对于k=2的操作通过达打表找规律: 如果s是奇数那么偶数的SG函数 ...
- 中石油训练赛 - Spiral Matrix(找规律)
题目链接:点击查看 题目大意:给出一个 n * m 的矩阵,起点及初始方向可以任意选择,每次可以向前或向右走一步,问有多少种方案可以遍历所有 n * m 个格子 题目分析:找规律的题..但被数据范围误 ...
最新文章
- PASCAL VOC工具包解读
- PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?
- android 拨打紧急号码,通话时开启免提功能实现
- 【Kaggle】Intermediate Machine Learning(XGBoost + Data Leakage)
- JMS学习六(ActiveMQ消息传送模型)
- 鸣人的影分身(信息学奥赛一本通-T1303)
- python安装mysqldb模块_python MysqlDb模块安装及其使用详解
- 双系统Ubuntu 无 启用wifi选项
- rootkit的检测
- 鸟哥linux基础篇学完到什么程度,学完了《鸟哥Linux私房菜》大体回顾以及感悟。...
- 两个各四只青蛙过河java_Java实现 LeetCode 403 青蛙过河
- 【密码学】HMAC与HS256算法
- 基于SqlServer基本表的插入、修改和删除
- Kafka有多个broker的例子——重点是Replicas和lsr和Leader位置
- 沧小海基于xilinx srio核的学习笔记之第二章 	Rapidio技术概述
- iOS 12 新功能亮相,必须升!
- 让线程按顺序执行8种方法(转载)
- 教育行业疫情分析研判报告撰写格式与模板详解
- 几何代数(Geometric Algebra)
- Elo rating system(测试版)