洛谷 P8225 题解
题意:
定义一个十进制数为 阶天才数,并且需要满足:
-
该整数的位数是 的倍数。
-
每一个数位都是 。
有 次询问,每次询问给出 和 ,求 是否可以拆分成若干个 阶天才数的和。
思路:
-
题目求的是 是否可以被 阶天才数整除,我们可以用 取模 阶天才数。
-
例如 时, 这些数都是可以的,但是 只要可以被最小的 阶天才数整除,那么答案就是可以的。
-
我们再看 的范围是 ,所以我们可以用打表的方式,将 个不同范围的 阶天才数存到数组里,每次询问分别取模就可以了,这样我们就可以做到每次询问都是 的时间复杂度。
code:
#include <bits/stdc++.h>
using namespace std;
long long ans[15]={0,9,99,999,9999,99999,999999,9999999,99999999,999999999,9999999999};
inline long long read(){
long long x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
long long t,n,k,s;
int main(){
t=read();
while(t--){
k=read();n=read();
if(n%ans[k]==0) cout<<"aya"<<endl;
else cout<<"baka"<<endl;
}
return 0;
}
本文来自博客园,作者:Black--Panda,转载请注明原文链接:https://www.cnblogs.com/liu-black/p/p8225-tijie.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现