样例输入:

5 3 20
donglali
nanlali
xilali
beilali
chuanpu

样例输出:

chuanpu
分析:
相比与约瑟夫,多了一下条件:
规定从第几个人开始数(不是从第一个),从那个数字开始
1,从那个小朋友开始数,他就率进队。注意如何先让指定的人入队
2,用队列直接存储小朋友的名字比较好处理
3,so,规定,队列用来存储每个人,而报的数字在while中++.
初版混乱的代码
#include <bits/stdc++.h>
#include <queue>
using namespace std;
char a[1005][21];
bool judge(int now){int flag = 0,rep = now;while(now){int t = now % 10;if(t == 7){flag = 1;break;}now = now /10;}if(flag == 1 || rep % 7 == 0){return true;}else return false;
}
int main(){int n,m,t;cin >> n >> m >> t;queue<int>q;for(int i = t + n - m + 1; i <= t + n - 1; i++){  //a[t]要对应第m个人的名cin >> a[i];}for(int i = t; i <= t + n - m; i++){cin >> a[i];}for(int i = m; i <= n; i++){q.push(t);t++;}for(int i = 1; i <= m-1; i++){q.push(t);t++;}int now = t - 1 - n;while(q.size() > 1){int x = q.front();q.pop();now++;if(judge(now)){}else {q.push(x);}}cout << a[q.front()] << endl;return 0;
}
更新后代码
#include <bits/stdc++.h>
#include <queue>
using namespace std;
char a[1005][21];
bool judge(int now){int flag = 0,rep = now;while(now){int t = now % 10;if(t == 7){flag = 1;break;}now = now /10;}if(flag == 1 || rep % 7 == 0){return true;}else return false;
}
int main(){int n,m,t;cin >> n >> m >> t;queue<string>q;for(int i = 1;i <= n; i++){string s;cin >> s;q.push(s);}for(int i = 1; i <= m - 1; i++){ q.push(q.front());//把前(m-1)人复制一边添加到队尾q.pop();           //再把队首的(m-1)干掉}int now = t;while(q.size() > 1){string x  = q.front();q.pop();if(judge(now)){}else {q.push(x);}now++;}cout << q.front() << endl;return 0;
}

敲7(升级版约瑟夫)相关推荐

  1. 约瑟夫环(简单版)c语言解决

    传说约瑟夫当年活下来就是靠快速计算这个问题. n 个人围成一圈,编号依次为 1,2,3-n.从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈.以此类推,直 ...

  2. 极客日报第 53 期:抖音将代替拼多多成为春晚独家红包合作伙伴;高通正研发 8cx 升级版处理器,对标苹果 M1;DuckDuckGo 日查询量首次突破 1 亿

    文章目录 一.互联网快讯 二.程序员专属 三.Github 每日精选 四.CSDN 社区优质博文精选 一.互联网快讯 1.抖音将替代拼多多,成为 2021 年春晚独家红包互动伙伴 据了解,1 月 16 ...

  3. 客制化键盘编程_装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版

    装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版 2019-09-09 11:55:42 24点赞 89收藏 25评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最 ...

  4. 小米台灯突然自己亮了_升级版值不值得买?米家台灯1代1S对比测评

    图吧垃圾佬对于米家两款台灯比较认真仔细的对比测评(附对照) 首先先说结论:值 台灯作为生产力工具我们在日常生活中常常会忽视它的作用,认为只要有个亮光就够用了,过去咱也是这么想的所以经常干一些现在看来一 ...

  5. Python学习路线2023升级版(课程大纲+视频教程+网盘资源下载)

    2023最新Python全栈+人工智能学习路线升级版 全面涵盖前端.后端.爬虫.数据挖掘.人工智能等课程(课程大纲+视频教程+网盘资源下载)! 学习路线四大亮点: 1.人工智能三大主流框架全覆盖 2. ...

  6. 关于约瑟夫问题(尾指针尾插法)

    约瑟夫问题折腾了很久,还询问了别人,最后终于自己敲出了一个自认为完美的解决方案. 虽然我一开始写的代码可以输出结果,但是可能是因为时间超限,原本可能是rear指针移动的原因,直接反映到析构上,这样也好 ...

  7. 敲代码括号技巧_阅码神奇Souceinsight使用小技巧总结

    /****与SI的初遇****/ 对于大部分人第一次使用SI来说应该是对原IDE集成开发环境有很大的抱怨吧,确实我也一样,对于做嵌入式开发使用各种集成开发工具,比如说Keil,IAR等等,可能还有更加 ...

  8. python中约瑟夫环程序_Python实现约瑟夫环问题的方法

    本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...

  9. 约瑟夫环问题的两种解法(详解)

    约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆 ...

最新文章

  1. 15DOM之获取元素方法
  2. mocha 测试 mysql_mocha 的基本用法 istanbul 生成测试覆盖率报告 mockjs 模拟网络请求...
  3. Visual Studio2017 远程调试 Remote Debugger
  4. React 点击按钮显示div与隐藏div
  5. octotree插件 --- 将 Github 项目代码以树形格式展示
  6. 30秒的PHP代码片段(1)数组 - Array
  7. Spring Boot 分页插件PageHelper
  8. 虚拟现实果真来了吗?
  9. OpenGL(一)二维图形的绘制:一个简单的绘制矩形程序
  10. thinkphp 下载txt文档
  11. 开心盒子助手3.0版|开心盒子助手工具3.0电脑版
  12. vant + Vue创建项目全过程
  13. CC++初学者编程教程(6) 配置WindowsXP虚拟机与VC6.0
  14. python语言程序设计基础上海交通大学_python语言程序设计基础第四章答案
  15. ffmpeg 自定义IO与Seek
  16. Mac重装Homebrew
  17. 2023COSP深圳户外展行业高峰论坛即将召开!博洋优选也将参加
  18. java-从菜鸟到大神
  19. 卡片左右滑动 带动任务条滑动 vue
  20. 用sharesdk第三方等陆或分享到QQ空间,qq好友,微信,朋友圈,新浪微博,腾讯微博等

热门文章

  1. python面向对象(特征,原则)01
  2. centos系统中卸载软件【例子为卸载百度硬盘】
  3. mysql 导出数据字典_python 查询 MySQL 数据库并返回字典集
  4. 服务器与虚拟技术,云服务器与虚拟化服务器的区别
  5. 蓝桥杯2013年省赛C/C++大学组 C/C++
  6. Java交替打印两个字符串
  7. ad20导出bom没有Value属性
  8. Altium AD20更改原理图的连接节点颜色和连线颜色(结点颜色)
  9. 【C#】VS 2017 如何创建项模板---自动添加头部注释
  10. Java工程师必学知识点【吊打面试官系列】