POJ 2081——Recaman's Sequence
来源:互联网 发布:厂价直销淘宝怎么设置 编辑:程序博客网 时间:2024/06/04 18:41
Recaman's Sequence
Time Limit: 3000MS Memory Limit: 60000KTotal Submissions: 22885 Accepted: 9881
Description
The Recaman's sequence is defined by a0 = 0 ; for m > 0, am = am−1 − m if the rsulting am is positive and not already in the sequence, otherwise am = am−1 + m.
The first few numbers in the Recaman's Sequence is 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9 ...
Given k, your task is to calculate ak.
The first few numbers in the Recaman's Sequence is 0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9 ...
Given k, your task is to calculate ak.
Input
The input consists of several test cases. Each line of the input contains an integer k where 0 <= k <= 500000.
The last line contains an integer −1, which should not be processed.
The last line contains an integer −1, which should not be processed.
Output
For each k given in the input, print one line containing ak to the output.
Sample Input
710000-1
Sample Output
2018658
Source
Shanghai 2004 Preliminary
题意:已知a[0]=0;如果a[m]-m>0并且a[m]-m在数列中没有出现过,则a[m]=a[m-1]-m,反之a[m]=a[m-1]+m.
解:直接打表操作,使用map来进行标记该数是否在数列中出现过。
#include<stdio.h>#include<map>#include<iostream>using namespace std;map<int ,int> m;int a[500005];void f(){a[0]=0;m[a[0]]++;for(int i=1;i<500005;i++){int x=a[i-1]-i;if(m[x]==0 && x>0){a[i]=a[i-1]-i;m[x]++;}else {a[i]=a[i-1]+i;m[a[i]]++;}}}int main(){int n;f();while(~scanf("%d",&n) && n>=0){printf("%d\n",a[n]);}}
0 0
- POJ 2081——Recaman's Sequence
- POJ 2081 Recaman's Sequence
- poj 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- poj 2081 :Recaman's Sequence
- poj 2081Recaman's Sequence
- poj 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- POJ-2081:Recaman's Sequence
- POJ-2081-Recaman's Sequence
- poj 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- poj 2081 Recaman's Sequence
- POJ 2081 Recaman's Sequence
- poj 2081【Recaman's Sequence】
- POJ 2081 Recaman's Sequence
- Android 开发中一些你不知道但很有用的类和方法
- BZOJ 3676 & UOJ 103 [Apio2014]回文串
- 关于myeclipse 10 新建Filter,listener接口的问题
- C#中的俄罗斯方块
- Python3.x和Python2.x的区别
- POJ 2081——Recaman's Sequence
- 【opencv练习15 - 腐蚀膨胀】
- First Missing Positive
- 深入研究JavaScript的事件机制
- C语言 由拼音字串获取拼音数量
- Acute Stroke
- J2SE--线程
- Laravel - DB facade实现CURD
- 集成ijkplayer