洛谷 P5635 【CSGRound1】天下第一

需要用short防止MLE,然后记忆化记录状态

 

 

#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int t,x,y,mod;//定义
short book[10010][10010]; 
int rem(int x,int y)
{
	if(book[x][y] == -1) return -1;//再次遇到这组x,y进入循环节了.. 
	if(book[x][y]) return book[x][y];
	book[x][y]=-1;//标记
	if(!x) return book[x][y]=1;
	if(!y) return book[x][y]=2;
	int num=(x+y)%mod;//num=处理后的x 《(num+y)%mod=处理后的y
	return book[x][y]=rem(num,(num%mod+y)%mod);//记忆化记录搜索结果 
}
int main()
{
	scanf("%d%d",&t,&mod);
	for(int i=0;i<t;i++) 
	{
		scanf("%d %d",&x,&y); 
		int ans=rem(x,y);//搜索		
		if(ans == -1) printf("error\n");
		else if(ans == 1) printf("1\n");
		else printf("2\n");
	}
	return 0;
}

 

posted @   浪矢-CL  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2017-07-25 bzoj 1821 部落划分
2017-07-25 图论————最小生成树
2017-07-25 树上最短路
点击右上角即可分享
微信分享提示