矩阵游戏
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 25(10 users) Total Accepted: 8(8 users) Rating:  Special Judge: No
Description

Dream和Griselda玩腻了硬币游戏,于是就找来小胖子一起玩矩阵游戏。

在一个n*n的01矩阵A里,Dream要求在这个矩阵中不能存在两个1相邻,Griselda要求在这个矩阵中每个元素必须满足

Aij = An - i - 1, j 和 Aij = Ain - j - 1.(下标从0开始)
    她们问小胖子:已知这个矩阵里面有几个1,问n最小是多少才能同时满足Dream和Griselda的要求。

小胖子又苦恼了~你可以帮助他么?

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 矩阵游戏【枚举找规律】相关推荐

  1. 【枚举找规律】记一次找规律题 埃匹希斯水晶

    UPC Contest2394 - 2020年春混合个人训练第八场问题 A: 埃匹希斯水晶 题目描述 ⼤家都知道,卡德加是⼀个神奇的法师. 有⼀天,他发现了⼀种可以作⽤在埃匹希斯⽔晶上的魔法:在左右两 ...

  2. hdu 5504(枚举+找规律)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 官方题解: 注意先特判0 的情况:如果读入的数据有0 ,那么去掉所有的0 且最后答案和0 取一个 ...

  3. hdu 小t的游戏(找规律)

    小t的游戏 Problem Description 小t有点神经质,喜欢发明一些稀奇古怪的游戏,比如说左手和右手打架就是他发明的. 这个周末,小t又发明了一个有趣的硬币游戏:小t手里有6枚硬币,他把硬 ...

  4. wikioi之1160 蛇形矩阵 之找规律

    题目 找规律模拟蛇形矩阵构造的方法 以输入7为例 0     1      2     3      4     5       6 中心位置的坐标直接为 n/2取整即可得到 然后从中位置开始按照逆时 ...

  5. 【AtCoder - 2554】Choose Integers (找规律,或枚举)

    题干: Problem Statement We ask you to select some number of positive integers, and calculate the sum o ...

  6. 【HDU - 5963】朋友(博弈,思维,必胜态必败态,找规律)

    题干: B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始, ...

  7. 【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 ...

  8. UESTC 1808 琪露诺的算术教室 打表+特判(找规律)

    题目 琪露诺是个聪明的精灵,她非常擅长和数字有关的游戏 . 直到有一天灵梦进入了迷雾深林,她遇见了琪露诺,并向她提出了一个问题. 统计n个一位数字a组成的数乘以一位数b的结果中有多少个一位数字d.不超 ...

  9. 点分治问题 ----------- P3727 曼哈顿计划E[点分治+博弈SG函数打表找规律]

    题目链接 解题思路: 1.首先对于每个操作我们实际上是一个博弈问题 对于k=1的操作就是很基础的NIM游戏就是找到一条链的异或和为0 对于k=2的操作通过达打表找规律: 如果s是奇数那么偶数的SG函数 ...

  10. 中石油训练赛 - Spiral Matrix(找规律)

    题目链接:点击查看 题目大意:给出一个 n * m 的矩阵,起点及初始方向可以任意选择,每次可以向前或向右走一步,问有多少种方案可以遍历所有 n * m 个格子 题目分析:找规律的题..但被数据范围误 ...

最新文章

  1. PASCAL VOC工具包解读
  2. PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?
  3. android 拨打紧急号码,通话时开启免提功能实现
  4. 【Kaggle】Intermediate Machine Learning(XGBoost + Data Leakage)
  5. JMS学习六(ActiveMQ消息传送模型)
  6. 鸣人的影分身(信息学奥赛一本通-T1303)
  7. python安装mysqldb模块_python MysqlDb模块安装及其使用详解
  8. 双系统Ubuntu 无 启用wifi选项
  9. rootkit的检测
  10. 鸟哥linux基础篇学完到什么程度,学完了《鸟哥Linux私房菜》大体回顾以及感悟。...
  11. 两个各四只青蛙过河java_Java实现 LeetCode 403 青蛙过河
  12. 【密码学】HMAC与HS256算法
  13. 基于SqlServer基本表的插入、修改和删除
  14. Kafka有多个broker的例子——重点是Replicas和lsr和Leader位置
  15. 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述
  16. iOS 12 新功能亮相,必须升!
  17. 让线程按顺序执行8种方法(转载)
  18. 教育行业疫情分析研判报告撰写格式与模板详解
  19. 几何代数(Geometric Algebra)
  20. Elo rating system(测试版)

热门文章

  1. EL表达式JSTL标签库小结
  2. Android搭建无线调试环境
  3. Maven--setting详解
  4. 小米和美的互投,大明湖畔的董明珠怎么办?
  5. JavaScript使用手册
  6. 每周阅读精选(2013-02-18)
  7. java游戏+弹幕_java弹幕小游戏1.0版本
  8. 【C++】日期类题目总结
  9. The second sprint
  10. python中冒号报错_python冒号_python 冒号_python冒号报错 - 云+社区 - 腾讯云