ACM题目:救济金发放
思路:
1. 使用数组que记录在队伍中的人,数组索引范围是 1~n;
2. 用book标记离开队伍的人
3.用 left 记录队伍剩下的人数,left=0的时候,就可以结束循环;
3.分别从que[p]按顺序,que[q]按逆序遍历数组que,(初始化的时候p=0,q=n+1)。
为了防止q和p超出数组索引范围,可以用取余数的方法:
1. 顺序读取: p = (p-1+n-1)% n + 1;
2. 逆序读取: q = (q+1+n-1)% n + 1;
(例如n=5,则
p=1,2,3,4,5,1,2,3,4,5,1......
q=5,4,3,2,1,5,4,3,2,1,5......
)
区别在于: 顺序的时候为p-1,逆序的时候为p+1;
#include<iostream>
using namespace std;int main() {int que[100]; //存放环状数组bool book[100] = { 0 }; //标记已经离开队伍的人物int n, i, M, N;cin >> n; // 人数if (n == 0)return 0;cin >> M >> N;for (i = 1; i <= n; i++) que[i] = i;int p = 0, q = n + 1;int left = n; // 队伍剩下的人数while (left) {int t = M; //需要走的步数while (t) {p = (p + 1 + n - 1) % n + 1; // 向顺序移动一位if (book[p] == 0) t--; //判断是否可走}t = N;while (t) {q = (q - 1 + n - 1) % n + 1; // 向逆序移动一位if (book[q] == 0) t--;//判断是否可走}book[p] = 1;book[q] = 1;if (p != q) { cout << que[p] << que[q] << ","; left -= 2;}else { cout << que[q] << ",";left--;}}return 0;
}
ACM题目:救济金发放相关推荐
- ACM题目中输入数据的处理(C++语言版)
ACM题目中输入数据的处理(C语言版)见: http://blog.csdn.net/sxhelijian/article/details/8978794 ACM竞赛题目的输入数据常要求有多组,并且格 ...
- 杭电ACM题目类型整理
版权声明:(╯3╰) 转载请注明: http://blog.csdn.net/bat67 杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 10 ...
- ACM题目 1012: [编程入门]字符串分类统计
ACM题目 1012: [编程入门]字符串分类统计 题目描述 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数. 输入 一行字符 输出 统计值 样例输入 aklsjflj123 sad ...
- ACM题目中输入数据的处理(C++版)
ACM题目中输入数据的处理(C语言版)见:http://blog.csdn.net/sxhelijian/article/details/8978794 ACM竞赛题目的输入数据常要求有多组,并且格式 ...
- ACM题目和培养训练!!!
ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...
- 浙大OJ网址及ACM题目分类
转自: http://blog.sina.com.cn/s/blog_61beb97b0100kquq.html 浙大oj网址:http://acm.zju.edu.cn/onlinejudge/ 第 ...
- PUK ACM题目分类
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 由一道acm题目所想到
已经很长一段时间没有ac题了,一周之前报名参加了计算客的编程大赛,虽然我的结果不 是特别理想,但是还是学到了一些东西.下边,我先贴出题目和对应的程序源码: 代码如下:(c语言) #include< ...
- HDOJ ACM 题目
转载 HDOJ 题目分类(转) 1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 H ...
最新文章
- sqldatasource mysql_.net的sqldatasource控件操作mysql数据库传递参数的问题
- 农行校招考试计算机类,农行校招:还有4个月,流程是这样!
- protobuf入门教程(六):导入定义(import)
- JavaScript实现的水珠动画效果
- Spring-boot IDEA使用注解@ConfigurationProperties时报错解决
- 在浏览器上,我们的隐私都是如何被泄漏的?
- 关于ios7的适配问题
- ascii码值大小顺序排序c语言,ascii码值的大小顺序是怎样的?
- Excel如何导出高清图片
- java406错误_Springmvc报406错误(Not Acceptable)的有效解决方法
- jira是干什么_JIRA是什么? | 学步园
- 基于linux的mplay的mp3程序,mplay_mxplayer播放器1.8.11_linux 视频播放器
- java文字水印模糊_使用Java给图片添加文字水印并消除锯齿
- excel自动换行_Excel教程:看完这篇,再也不为excel换行而烦恼
- codeforces 868C - Qualification Rounds
- 戏如人生,人生如戏!
- UG NX 10 控制基准平面的显示大小
- Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
- pageX,clientX区别
- 罗杰斯:不看好房地产股票 最佳投资是大宗商品
热门文章
- 面试热点Redis分布式锁,再细说一次
- 老司机给我们解读 Spring Boot 最流行的 16 条实践忠告
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
- Spring Boot 项目瘦身指南,瘦到不可思议!
- 总在说SpringBoot内置了tomcat启动,那它的原理你说的清楚吗?
- Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解+完整代码)
- 【廖雪峰python入门笔记】函数
- 官宣!这些北京高校,去雄安!
- 复旦大学自然语言处理实验室发布模型鲁棒性评测平台TextFlint
- 官宣!又一“国字号”大学要来了?