faebdc玩扑克

编程入门 行业动态 更新时间:2024-10-11 09:24:34

faebdc玩扑克

faebdc玩扑克

题目背景
faebdc 和 zky 在玩一个小游戏
题目描述
zky 有 nn 个扑克牌,编号从 11 到 nn,zky 把它排成一个序列,每次把最上方的扑克牌放在牌堆底,然后把下一张扑克牌拿出来输出,最终输出的序列恰好是从 11 到 nn,faebdc 问你原序列是什么,因为 faebdc 神犇早已在 \mathcal O (1)O(1) 的时间得出结果,如果你在 1 s 内答不出来,faebdc 会吃了你。
输入格式
一个整数 n,表示扑克数目。
输出格式
nn 个数,表示扑克序列。
输入输出样例
输入 #1复制
13
输出 #1复制
7 1 12 2 8 3 11 4 9 5 13 6 10
说明/提示
对于 100%100% 的数据,1 \le n \le {10}^61≤n≤10 6


解题思路:题意是给你答案序列,先从牌顶抽出一张并将其放在最下面,并打印输出下一张;我们可以反推,维护一个ans数组,让扑克牌从大到小遍历(不用开数组,更不用维护栈),每次递减的同时,先将n放到牌顶,再将最底部的牌放到牌顶:即
ans.push_back(n–);
ans.push_back(ans[pos++]);
并在n为0的时候退出循环。
打印结果时,从后向前打印,注意 i > ans.size()-1-n

反思:做题时不要轻易推结论找规律,根据题目意思先进行模拟,并优化算

更多推荐

faebdc玩扑克

本文发布于:2024-02-07 09:24:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755914.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:玩扑克   faebdc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!