棋棋棋棋棋

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. 基于Hexo + Git + Nginx的博客发布

    进过上一篇<树莓派搭建私人服务器>,我们已经有一个私人服务器了,现在需要做点什么实际事情了,先搭一个博客分享自己的经验吧. 相关文章:1.<树莓派搭建私人服务器>(http:/ ...

  2. Hadoop架构设计、执行原理具体解释

    1.Map-Reduce的逻辑过程 如果我们须要处理一批有关天气的数据.其格式例如以下: 依照ASCII码存储.每行一条记录 每一行字符从0開始计数,第15个到第18个字符为年 第25个到第29个字符 ...

  3. 深度学习笔记之CNN(卷积神经网络)基础

    不多说,直接上干货! 卷积神经网络(ConvolutionalNeural Networks,简称CNN)提出于20世纪60年代,由Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经 ...

  4. MySQL的引入,绿色包下载和应用

    一.下载MySQL绿色版 1.下载地址: 以下是MySQL最新绿色版链接(都是来源于oracle官网),点击以下链接直接下载. 1.1.官网链接:https://www.oracle.com/inde ...

  5. 第3周课后实践&#183;程序阅读(4)-利用引用訪问私有数据成员

    /* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名:test.cpp * 作 者:刘畅 * 完毕日期:2015年 3 月 2 ...

  6. Android多线程更新UI的方式

    Android下,对于耗时的操作要放到子线程中,要不然会残生ANR,本次我们就来学习一下Android多线程更新UI的方式. 首先我们来认识一下anr: anr:application not rep ...

  7. [IT学习]转载python 项目 计算器

    这个是从网上搜到的Python小项目之计算器(原文地址:http://www.2cto.com/kf/201402/279637.html).但该段代码估计是Python 2 写的. 如果你使用的程序 ...

  8. SE11 数据表中 日志数据更改 勾选的作用

        [园工]HF-abap-Rainy(574570549)  11:10:12这个有啥作用,勾上了怎么查修改日志呢,[园丁]SH-CRM-ALEX(8738890)  11:13:53SCU3[ ...

  9. java生成随机汉字

    方法一: public static char getRandomChar() { return (char) (0x4e00 + (int) (Math.random() * (0x9fa5 - 0 ...

  10. C语言-1.结构体,2.枚举,3.typedef,4.预处理指令的概念,5.条件编译

    1. 结构体数组 定义:由若干个相同类型的结构体变量组成的有序的集合. 定义格式: 1) 定义结构体的同时定义结构体数组 struct Car{ int lunzi; int speed; }cars ...