2101 Problem A Snake Filled

Posted 多一份不为什么的坚持

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2101 Problem A Snake Filled相关的知识,希望对你有一定的参考价值。

题目描述

“What a boring world!”
Julyed felt so bored that she began to write numbers on the coordinate paper. She wrote a “0” on the center, then wrote the follow numbers clockwise, which looked like a snake as below.
  技术分享
“Damn! I have fulfilled the paper!”
Julyed was looking at paper. Suddenly, she began to feel curious.
“What is the nth number on the positive axis of Y axis?”
She asked tomriddly for the question. But tomriddly was so busy that he ignored Julyed. So now you have to solve this problem.

输入

Multiple test cases.
The first line contains an integer T (T <= 50), indicating the number of test cases.
Then T lines follows, one line per case. Each line contains a positive integer n (n <= 3000).

输出

One line per case. An integer indicates the nth number on the positive axis of Y axis.

样例输入

3
1
2
18

样例输出

5
18
1314

解题心得:
  输入0,1,2...,然后对应输出黄色标记的数字。此题纯靠找规律即可解答。
  我找到的规律是这样的:0,5,18,39 ,每次增加的数add[1]=4,add[2]=13,add[3]=21,然后发现每个add之间都是增加8;
  下面是代码。

代码:
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
    int n;
    int add=5;
    int a[3005];
    int z=8;
    int s=0;
    int ii;
    memset(a,0,3005*sizeof(int));
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=1;j<=3000;j++){
            s+=add;
            a[j]=s;
            add+=z;
        }
        s=0;
        add=5;
        scanf("%d",&ii);
        printf("%d\n",a[ii]);
    }
    return 0;
}

 

 

以上是关于2101 Problem A Snake Filled的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2101: A + B Problem Too

POJ 1392 Ouroboros Snake(数位欧拉)

DockerProblem

A.Snake Filled

A - Fox And Snake

BZOJ——2101: [Usaco2010 Dec]Treasure Chest 藏宝箱