poj 2081 Recaman's Sequence(DP:水水更健康)

来源:互联网 发布:网络女生翻唱歌手 编辑:程序博客网 时间:2024/06/05 05:40

直接打表500000个数据即可

判别数组需要开的大一点,以免RE

代码如下:

#include <cstdio>#include <cstring>#define MAXN 10000000using namespace std;bool vis[MAXN];int a[500100];void init() {    a[0] = 0;    memset(vis, false, sizeof(vis));    for(int i=1; i<=500000; ++i) {        int tmp = a[i-1]-i;        if(tmp>0 && !vis[tmp])            a[i] = tmp;        else a[i] = a[i-1]+i;        vis[a[i]] = true;    }}int main(void) {    init();    int n;    while(scanf("%d", &n) && (n!=-1)) {        printf("%d\n", a[n]);    }    return 0;}


0 0
原创粉丝点击