Uva 6172 Hailstone HOTPO

来源:互联网 发布:新手学淘宝开店 pdf 编辑:程序博客网 时间:2024/06/16 10:13

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4183

直接模拟就可以。也可以在一定范围内记忆化。

#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>using namespace std;#define INF 0x3f3f3f3f#define Maxn 100005int num[Maxn];int main(){#ifndef ONLINE_JUDGE    freopen("in.txt","r",stdin);#endif    int p;    int m,n;    int ans;    int temp;    scanf(" %d",&p);    memset(num,0,sizeof(num));    while(p--)    {        scanf(" %d %d",&m,&n);        temp = n;        ans = n;        if(num[n] == 0)        {            while(n!=1)            {                if(n%2 == 0)                {                    n/=2;                }                else                {                    n = n*3 + 1;                }                ans = max(ans,n);                if(n<=100000 && num[n]!=0)                {                    ans = max(ans,num[n]);                    break;                }            }            ans = max(ans,n);            num[temp] = ans;        }        else        {            ans = num[temp];        }        printf("%d %d\n",m,ans);    }    return 0;}


原创粉丝点击