[HDU - 1276]士兵队列训练问题
时间:2019-08-17
本文章向大家介绍[HDU - 1276]士兵队列训练问题,主要包括[HDU - 1276]士兵队列训练问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这道题直接模拟即可,我也不是很懂为什么放在队列和栈里,估计学长是想让我们用栈和队列写吧。但是个人觉得数组更好理解,其实栈和队列跟数组本质上都差不多。
1 #include <bits/stdc++.h> 2 #define maxn 5000 + 10 3 int main(){ 4 int in; 5 while (~scanf("%d", &in)){ 6 while (in--){ 7 int left, a[maxn], b[maxn], c[maxn], num; 8 int flag = 1; 9 scanf("%d", &num); 10 left = num; 11 int r = 0; 12 for(int i = 0; i < num; i++) 13 a[i] = i+1, b[i] = i, c[i] = 1; 14 15 if(left <= 3){ 16 for (int i = 0; i < left; i++){ 17 if(r) printf(" %d", a[i]); 18 else printf("%d", a[i]); 19 r = 1; 20 }printf("\n"); 21 }else { 22 int j = 0; 23 for (int i = 0; i < num; i++) 24 if(c[i]) b[j++] = i; 25 26 while (left > 3){ 27 int j = 0; 28 if (flag){ 29 for(int i = 1; i < left; i+=2) 30 c[b[i]] = 0; 31 left =left - left / 2; 32 } else { 33 for(int i = 2; i < left; i+=3) 34 c[b[i]] = 0; 35 left = left - left / 3; 36 } 37 flag = !flag; 38 for(int i = 0; i < num; i++) if(c[i]) b[j++] = i; 39 r = 0; 40 } 41 for(int i = 0; i < left; i++) 42 { 43 if(r) printf(" %d", a[b[i]]); 44 else printf("%d", a[b[i]]); 45 r = 1; 46 } 47 printf("\n"); 48 } 49 } 50 } 51 return 0; 52 }
原文地址:https://www.cnblogs.com/Vikyanite/p/11368591.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PDO::getAvailableDrivers讲解
- PDO::_construct讲解
- Yii2.0实现的批量更新及批量插入功能示例
- PDO::inTransaction讲解
- 小程序前后端交互使用JWT
- python文件操作seek()偏移量,读取指正到指定位置操作
- 使用OpenCV去除面积较小的连通域
- 使用vs code编辑调试php配置的方法
- Python OpenCV去除字母后面的杂线操作
- PDO::rollBack讲解
- PyTorch的torch.cat用法
- keras在构建LSTM模型时对变长序列的处理操作
- Discuz不使用插件实现简单的打赏功能
- Pytorch学习之torch用法—-比较操作(Comparison Ops)
- PHP里的$_GET数组介绍