T4题解
应 zzj 要求。
思路 1:暴力
没什么好说的吧……
分离出每一位,去掉
核心代码:
int f(int x)
{
int a[10], c = 0, r = 0;
while(x) a[++c] = x % 10, x /= 10;
for(int i = c;i >= 1;--i)
if(a[i] != 9) r = r * 9 + a[i];
return r;
}
......
while(T--)
{
scanf("%d", &n);ans = 0;
while(1)
{
int fn = f(n);
if(n == fn) break;
n = fn;++ans;
}
printf("%d\n", ans);
}
这就过了?
思路 2:记搜
用数组记录每个算过的
核心代码:
int m[100000050];
int f(int x)
{
int a[10], c = 0, r = 0;
while(x) a[++c] = x % 10, x /= 10;
for(int i = c;i >= 1;--i)
if(a[i] != 9) r = r * 9 + a[i];
return r;
}
int dfs(int x)
{
int fx = f(x);if(x == fx) return 0;
if(m[x]) return m[x];
return m[x] = dfs(fx) + 1;
}
......
while(T--)
{
scanf("%d", &n);ans = 0;
printf("%d\n", dfs(n));
}
就这也能 T4?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具