求助记搜
查看原帖
求助记搜
593403
PanDaoxi楼主2023/8/5 14:33

蒟蒻初学OI一两天,不太会记搜。

希望大佬指点迷津

// Author:PanDaoxi
#include <bits/stdc++.h>
using namespace std;

#define endl "\n"
#define ll long long

const int INF = 1e6 + 1; // 我也不知道开多少合适
int f[INF];

int w(int k, int step){
	if(f[k] != -1) return f[k];
	if(k == 1) return f[1] = step;
	if(k % 2 == 1) return f[k] = w(3*k+1, step+1);
	else return f[k] = w(k/2, step+1);
}

int main(){
	ios :: sync_with_stdio(false);

	int a, b;
	while(cin >> a >> b){
		a = min(a, b), b = max(a, b);
		int maxn = INT_MIN;
		memset(f, -1, sizeof(f));
		for(int i=a; i<=b; i++) maxn = max(w(i, 1), maxn);
		cout << a << " " << b << " " << maxn << endl;
	}
	
	return 0;
}
2023/8/5 14:33
加载中...