2804650_ac_0ms_92k.cpp

来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 54 行

CPP
54
字号
# include <stdio.h>

__int64 s[10001];
__int64 a, b, c;

__int64 min(__int64 p,__int64 q)
{
	return p < q ? p : q;
}

void swap(__int64 &p,__int64 &q)
{
	__int64 t;

	t = q;
	q = p;
	p = t;
}

void init()
{
	int i, n;
	__int64 t1, t2, t3, ta, tb, tc;

	scanf("%I64d%I64d%I64d%d",&a,&b,&c,&n);
	if(b > c)
		swap(b,c);
	if(a > b)
		swap(a,b);
	if(b > c)
		swap(b,c);
	s[0] = 1;
	i = 1;t1 = t2 = t3 = 0;
	while(i<=n)
	{
		ta = a*s[t1]; tb = b*s[t2];tc = c*s[t3];
		s[i] = min(ta,min(tb,tc));
		if(s[i]==ta)
			t1++;
		if(s[i]==tb)
			t2++;
		if(s[i]==tc)
			t3++;
		i++;
	}
	printf("%I64d\n",s[n]);
}

int main()
{
	init();
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?