2018年ACM-ICPC亚洲青岛区域竞赛 - M:Function and Function
发布日期:2021-07-01 00:14:48 浏览次数:2 分类:技术文章

本文共 579 字,大约阅读时间需要 1 分钟。

 

Time Limit: 1 Second      Memory Limit: 65536 KB

Problem solving report:

Description: 签到题,给你一个x和一个k,根据上面的表求g^k(x),例如g^2(1234)=f(f(1234))=f(1)=0.

Problem solving: 范围是1e9,直接递归算的话会超时,我们可以发现,到了后面就是在01之间循环了,所以值到达0之后,根据还要再进行的次数的奇偶性判断即可.

#include 
int m[] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};int mm(int n){ int ans = 0; if (!n) return 1; while (n) { ans += m[n % 10]; n /= 10; } return ans;}int main(){ int t, x, k; scanf("%d", &t); while (t--) { scanf("%d%d", &x, &k); while (k--) { x = mm(x); if (!x) break; } if (k > 0 && k & 1) x = 1; printf("%d\n", x); } return 0;}

 

转载地址:https://lzyws739307453.blog.csdn.net/article/details/83933728 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:NYOJ - 过河问题(贪心)
下一篇:2018年ACM-ICPC亚洲青岛区域竞赛 - J:Books

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月17日 05时51分09秒