1. 程式人生 > >【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]C.急開鎖 博弈論+打表

【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]C.急開鎖 博弈論+打表

題目連結
在這裡插入圖片描述
在這裡插入圖片描述


在這裡插入圖片描述
在這裡插入圖片描述

#include<cstdio>
typedef long long ll;
int t,k,l,r;
ll len,f[4000010];
int main()
{
	//freopen("in.txt","r",stdin);
	scanf("%d",&t);f[0]=1;f[1]=2;
	while(t--)
	{
		scanf("%d%lld",&k,&len);
		l=0;r=1;
		while(f[r]<len)
		{
			r++;
			while(f[l]*k<f[r])l++;
			f[r+1]=f[r]+f[l];
		}
		if(f[r]==len)puts("DOG");else puts("GOD");
	}
	return 0;
}

總結