棋棋棋棋棋

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

在遥远的K次元空间,一年一度的GDUFE-GAME又开始了。每年的GDUFE-GAME都会有很多有趣的小游戏吸引学生参加,但是由于时间和参与人数有限制,导致很少有学生能参与所有的游戏,于是智力(障)超群的QWER下定决心要尽可能多参与到不同的游戏中。为了实现这个小目标,QWER要尽快通过进场必玩的棋盘游戏。
这个棋盘游戏的规则是这样子的:在一个n行n列的黑白相间棋盘上放棋子,要求放下去的棋子的相邻位置不能再放棋子,也就是说,如果有棋子放在(i, j)位置,那么(i-1, j), (i, j-1), (i, j+1), (i+1, j)这四个位置都不能放棋子,显然对于每个棋盘最多能放的棋子数是确定的,当棋盘上棋子达到上限即通过游戏。
这个问题难不倒QWER,但是为了尽快通过游戏,QWER想一次性拿起所有的棋子放完,但是他该拿多少呢......

Input:

第一行是一个整数 T,代表总共有 T 个测试实例。
每个测试实例包含一个整数 n (1 ≤ n ≤ 65535),代表棋盘大小为 n 行 n 列。

Output:

对于每个测试实例,输出一个整数,代表QWER应该一次性拿起多少棋子。(答案保证在int范围内)

Sample Input:

2
1
2

Sample Output:

1
2
解题思路:这是一道找规律的题目,比较简单,容易推导。假设a[i]存放当前棋盘(按规则)最多能容纳的棋子数,则规律如下:
a[1]=1;
a[2]=2;
a[3]=5(-->3+a[2]);
a[4]=8(-->4*2);
a[5]=13(-->5+a[4]);
a[6]=18(-->3*6);
...
很容易发现,当i是奇数时,a[i]=i+a[i-1];当i是偶数时,a[i]=i*k;(当i=2时,k=1;之后每遇到偶数递增1,再执行a[i]=i*k即可)。
AC代码:
 #include <bits/stdc++.h>
using namespace std;
int a[],k=;
int main()
{
a[]=,a[]=;
for(int i=;i<;++i){
if(i%)a[i]=i+a[i-];
else{
++k;
a[i]=k*i;
}
}
int T,n;
cin>>T;
while(T--){
cin>>n;
cout<<a[n]<<endl;
}
return ;
}
 

ACM_棋棋棋棋棋(规律题)的更多相关文章

  1. CJOJ 1087 【NOIP2010】乌龟棋 / Luogu 1541 乌龟棋(动态规划)

    CJOJ 1087 [NOIP2010]乌龟棋 / Luogu 1541 乌龟棋(动态规划) Description 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 乌龟棋的棋盘是一行N个格子,每个 ...

  2. ACM_送气球(规律题)

    送气球 Time Limit: 2000/1000ms (Java/Others) Problem Description: 为了奖励近段时间辛苦刷题的ACMer,会长决定给正在机房刷题的他们送气球. ...

  3. LightOJ1010---Knights in Chessboard (规律题)

    Given an m x n chessboard where you want to place chess knights. You have to find the number of maxi ...

  4. Codeforces - 规律题 [占坑]

    发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C ...

  5. hdoj--1005--Number Sequence(规律题)

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. 洛谷 P1876 开灯(思维,枚举,规律题)

    P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...

  7. Codeforces 959E. Mahmoud and Ehab and the xor-MST 思路:找规律题,时间复杂度O(log(n))

    题目: 解题思路 这题就是0,1,2...n-1总共n个数字形成的最小生成树. 我们可以发现,一个数字k与比它小的数字形成的异或值,一定可以取到k与所有正整数形成的异或值的最小值. 要计算n个数字的情 ...

  8. Visible Lattice Points(规律题)【数学规律】

    Visible Lattice Points 题目链接(点击) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9031   ...

  9. Codeforces Round #384 (Div. 2) B. Chloe and the sequence(规律题)

    传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems ...

随机推荐

  1. Oracle冷备和热备脚本

    Oracle冷备和热备脚本 冷备脚本: set feedback off set heading off set verify  off set trimspool off set echo off ...

  2. [RxJS] Implement the `map` Operator from Scratch in RxJS

    While it's great to use the RxJS built-in operators, it's also important to realize you now have the ...

  3. hibernate查询之Criteria实现分页方法(GROOVY语法)

    public int searchTest(String name, Integer pageIndex, List<Test> resultList){ def criteria = T ...

  4. php事务操作示例

    <?php //数据库连接 $conn = mysql_connect('localhost', 'root', '');mysql_select_db('test', $conn); /* 支 ...

  5. SpringMVC_中文乱码的配置 --跟海涛学SpringMVC(和自己在项目中的实际使用的对比)

    spring Web MVC框架提供了org.springframework.web.filter.CharacterEncodingFilter用于解决POST方式造成的中文乱码 <filte ...

  6. fastjson将json字符串中时间戳转化为日期

    开发中,调用接口,往往会返回一个json字符串.对于json中的时间戳应该如何转为日期对象呢? 定义一个DateValueFilter类,这个类实现了fastjson中ValueFilter接口.其作 ...

  7. HDU1257 最少拦截系统 —— 贪心

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1257 最少拦截系统 Time Limit: 2000/1000 MS (Java/Othe ...

  8. YTU 2574: 空白格式化

    2574: 空白格式化 时间限制: 1 Sec  内存限制: 128 MB 提交: 233  解决: 118 题目描述 恭喜你进入了蓝桥杯总决赛,本次大赛采用了全自动机器测评系统. 如果你的答案与标准 ...

  9. mysql字符集设置utf-8

    mysql字符集设置utf-8 mysql修改环境的默认字符集为utf-8(当然你也可以设置成别的,国际点还是utf-8好) 如果不把mysql字符集统一下,后面还是有点麻烦的 首先得在服务里关掉my ...

  10. 【SDOI 2011】染色

    [题目链接] 点击打开链接 [算法] 树链剖分 [代码] 本题,笔者求最近公共祖先并没有用树链剖分“往上跳”的方式,而是用倍增法.笔者认为这样比较好写,代码可读性 比较高 此外,笔者的线段树并没有用懒 ...