棋棋棋棋棋

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. Shell 脚本小试牛刀(5) -- 超便捷脚本之高速ssh 登录其它主机

    假设你也是以Linux 为工作环境的童鞋,那么此文真是捷报!由于我的学习/工作中(特别是近期玩耍树莓派)常常会使用到ssh 登录其它主机,而每次使用ssh 登录都须要输入老长一大串让我非常烦.所以我写 ...

  2. 一处折腾笔记:Android内嵌html5加入原生微信分享的解决的方法

    有一段时间没有瞎折腾了. 这周一刚上班萌主过来反映说:微信里面打开聚客宝.分享功能是能够的(这里是用微信自身的js-sdk实现的).可是在android应用里面打开点击就没反应了:接下来狡猾的丁丁在产 ...

  3. Navicat for MySQL出现#1045 错误怎么办

    #1045 - Access denied for user 'root'@'localhost' (using password: NO)这是因为你连接的时候没有密码或者密码没改对导致的.如下图所示 ...

  4. form怎样正确post文件

    form在HTML中,是用于收集用户输入的,基本全部浏览器都支持form.给form加入method属性.就能实现将用户在form内控件输入的信息POST到制定地址.或发送GET请求. 写了以下一段代 ...

  5. soapUI系列之—-03 Groovy脚本常用方法2

    ------Groovy脚本常用方法 1.解析Json数据脚本 //groovy读取json的方式很简单,re.body.businessinfo.c2rate读取c2rate对应的值 import ...

  6. com.squareup.timessquare.CalendarPickerView

    com.squareup.timessquare.CalendarPickerView https://github.com/square/android-times-square

  7. 【iOS系列】- UITableView的使用技巧

    [iOS系列]- UITableView的使用 UITableView的常用属性 indexpath.row:行 indexpath.section:组 separatorColor:分割线的颜色 s ...

  8. ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)

    ufldl学习笔记与编程作业:Logistic Regression(逻辑回归) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰,又有编程实践. 在deep learning高质量群里面听 ...

  9. Codeforces Little Dima and Equation 数学题解

    B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes input s ...

  10. [IT练习册]Python练习项目 思路

    1.爬虫:爬取如下网站一年的内容. http://www.calvarymoravian.org/dailytext 2.蛇形棋: 开发一个类似蛇形棋的游戏.最好基于Web. 3.爬虫+通讯录: 从公 ...