博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12010 解密QQ号(队列)
阅读量:5264 次
发布时间:2019-06-14

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

标题:

标签:  
详情: 新学期开始了,小哈是小哼的新同,小哼向小哈询问QQ号,小哈当然不会直接告诉小哼。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾,再将第5个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一起就是小哈的QQ啦。现在你来帮帮小哼吧。小哈给小哼加密过的一串数是“6 3 1 7 5 8 9 2 4”。解密后小哈的QQ号应该是“6 1 5 9 4 7 2 8 3”。
输入格式:
只有2行第1行有一个整数n (1<=n<=100000)第2行有n个整数为加密过的QQ号,每个整数之间用空格隔开。每个整数在1~9之间。
输出格式:
只有一行,输出解密后的QQ号。
限制: 每个测试点1秒
50%的数据1<=n<=10000
100%的数据1<=n<=100000
样例:

输入

9

6 3 1 7 5 8 9 2 4

输出

6 1 5 9 4 7 2 8 3

 

这一题刚开始按照书上两种方法模拟个一遍队列,但是都有一组数据是过不去的,我也没找到是什么原因。

贴出来大家可以找一下原因。本题实现过程过于简单,就不用写题解了。

代码1:

#include
#include
using namespace std;struct que{ int date[100000]; int head; int tail;};int main(){ int n; scanf("%d",&n); struct que q; q.head=1; q.tail=1; for(int i=1;i<=n;i++) { scanf("%d",&q.date[q.tail]); q.tail++; } while(q.head

代码2:

#include
#include
using namespace std;int a[100001];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); int head=1,tail=n+1; while(head

 

这个题最后我用STL里面的队列实现的,一次就A了。

AC代码:

#include
#include
using namespace std;int a[100000];int main(){ queue
q; int n; scanf("%d",&n); for(int i=0;i

 

转载于:https://www.cnblogs.com/zut-syp/p/10543726.html

你可能感兴趣的文章
LiveBinding应用 dataBind 数据绑定
查看>>
Linux重定向: > 和 &> 区别
查看>>
nginx修改内核参数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
Windows 2003全面优化
查看>>
URAL 1002 Phone Numbers(KMP+最短路orDP)
查看>>
web_day4_css_宽度
查看>>
electron入门心得
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>