题目

n(n<20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上)。接下来被官员选中的人(1个或者2个)离开队伍。

输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 6, 10, 7。注意:输出的每个数应当恰好占3列。

输入:

10 4 3

输出:

_ _ 4_ _ 8,_ _ 9_ _ 5,_ _ 3_ _ 1,_ _ 2_ _ 6,_ 10,_ _ 7

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
#include<ctype.h>
#define maxn 25
using namespace std;//关键的问题就是确定移动的步长,并且在数组中循环,
//当遇到被换成0的元素就继续下一个。
//p=(p+d+n-1)%n+1;int n,k,m,a[maxn];
int go(int p,int d,int t){while(t--){do{//核心代码:如果按正常的取余:(p+d)%n,想从1顺时针变成10是不可能的。这里的+n-1目的是防止变成0,防止对负数取余p=(p+d+n-1)%n+1;//}while(a[p]==0);//走到下一个非0数字 }return p;
}
int main(){//int n,k,m,a[maxn];
scanf("%d%d%d",&n,&k,&m);
//while(scanf("%d%d%d",&n,&k,&m)==3&&n){for(int i=1;i<=n;i++) a[i]=i;int left=n;int p1=n,p2=1;while(left){p1=go(p1,1,k);p2=go(p2,-1,m);printf("%3d",p1);left--;if(p2!=p1){printf("%3d",p2);left--;}a[p1]=a[p2]=0;if(left!=0) printf(",");
}//  printf("\n");
//}return 0;
}

题目

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:
  每个小朋友都把自己的糖果分一半给左手边的孩子。
  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。
  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。
  你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。

格式要求

程序首先读入一个整数N(2<N<100),表示小朋友的人数。
  接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)
  要求程序输出一个整数,表示老师需要补发的糖果数。

例如:输入

3
  2 2 4

程序应该输出:

4

注意:

刚交换完,未补糖之前 糖果可能相等;
补糖之后 可能相等;

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
#include<ctype.h>
#define maxn 100
using namespace std;
int main(){int n,a[106];long long s1=0,s2=0;cin>>n;for(int k=1;k<=n;k++){cin>>a[k]; s1+=a[k];}
while(1){int flag=0;for(int i=1;i<=n;i++){int left=(i+n)%n+1;a[i]=(a[i]+a[left])/2;
}//一轮交换糖果,老师还没有补糖
for(int k=1;k<=n;k++) {//看刚换完 未补糖果时是否相等if(a[kl]!=a[1]){flag=2;break;}
}if(flag==0) break;//刚换完 未补糖果时已经相等,不用补 直接结束whileelse {//刚换完 未补糖果时  不相等 需要补for(int kk=1;kk<=n;kk++){if(a[kk]%2!=0) a[kk]++;//奇数糖 加1}for(int kll=1;kll<=n;kll++) {//看补完糖果之后 是否相等 if(a[kll]!=a[1]){flag=2;break;}} //forif(flag==0) break; //补完糖果之后 相等,结束while}//else
}//whilefor(int h=1;h<=n;h++) s2+=a[h];
cout<<(s2-s1);
return 0;
}

刽子手游戏

题目描述
游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母
则计算机会在一副“刽子手”画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次。注意猜一个已经猜过的字母也算错。
在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了,(You win.)、输了(You lose.)、还是放弃了(You chickened out.)
【输入】
会有好几组测试数据,每一组有3列。第一列为一个数字n,代表第几回合,第二列为这一回合的答案,第三列为这一回合玩家输入的猜测。如果n = -1代表输入结束。
1
cheese
chese
2
cheese
abcdefg
3
cheese
abcdefgij
-1
输出
Round 1
You win.
Round 2
You chickened out.
Round 3
You lose.

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
#include<ctype.h>
#define maxn 100
using namespace std;
int left1, chance; //还需要猜left个位置,错chance次之后就会输
char s[maxn], s2[maxn]; //答案是字符串s,玩家猜的字母序列是s2
int win, lose;    //win=1表示已经赢了;lose=1表示已经输了 void guess(char ch)
{int bad = 1;for (int i = 0; i < strlen(s); i++)if (s[i] == ch) { left1--; s[i] =' '; bad = 0; }if (bad) --chance;if (chance==0) lose = 1;if (left1==0) win = 1;
}int main() { int rnd;while(scanf("%d%s%s",&rnd, s, s2) ==3 &&rnd != -1)
{   printf("Round %d\n", rnd);win = lose = 0; //求解一组新数据之前要初始化 left1 = strlen(s); chance = 7; for(int i = 0; i < strlen(s2); i++) { guess(s2[i]); //猜一个字母 if(win || lose) break; //检查状态 }//根据结果进行输出 if(win) printf("You win.\n"); else if(lose) printf("You lose.\n"); else printf("You chickened out.\n");
}
return 0;
}

蓝桥杯 真题 救济金发放、分糖果、刽子手游戏相关推荐

  1. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

  2. 第十届蓝桥杯c语言试题,第十届蓝桥杯真题编程题1-7解析(高级组).pdf

    scratch 少儿编程第十届蓝桥杯真题 7 大家好 ~今天我们来讲解 scratch 蓝桥杯第十届编程大题的第七道题. 同样,这道题也是非常有难度的一道题.一起来看一下吧 解析: 女孩的程序 1.在 ...

  3. 第九届蓝桥杯真题解析JavaC组

    第九届蓝桥杯真题解析JavaC组 文章目录 ***第九届蓝桥杯真题解析JavaC组*** 前言 A.哪天回家 B.猴子分香蕉 C.字母阵列 D.第几个幸运数 E.书号验证 F.打印大X G.缩位求和 ...

  4. 蓝桥杯真题2017-2021

    刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...

  5. 包子凑数-蓝桥杯真题 线性方程组求解(c++实现)

    上文链接:日期问题-蓝桥杯真题 具备基础日期知识查看(c++) 包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可 ...

  6. 第六届蓝桥杯真题总结

    第六届蓝桥杯真题总结 第一题:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求 ...

  7. 第四届蓝桥杯真题解析【JavaC组】

    第四届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第四届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:组素数 C:马虎的算式 D:第39 ...

  8. 2016年第七届蓝桥杯真题解析JavaC组

    相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...

  9. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

最新文章

  1. re.search中与正则表达式*结合使用的注意事项
  2. 取消linux下命令别名设置,day6Linux命令-设置别名
  3. listrecord根据某个属性去重_天刀手游琅纹搭配攻略,全门派全装备最细节提属性教学...
  4. span标签的鼠标滑入提示_彻底搞懂拖拽——基于鼠标事件的拖拽以及基于HTML5 API的拖拽...
  5. Visual Studio 2010修改授权
  6. 实验十一 团队作业7:团队项目设计完善编码
  7. python网课视频下载-python老男孩网课22期视频教程全
  8. LeetCode(160): Intersection of Two Linked Lists
  9. UML类图各符号含义
  10. Confluence 6 数据库表-杂项(Miscellaneous)
  11. php5.6源码包,PHP-5.6.8 源码包编译安装
  12. 软件测试数据中心,数据中心行业测试方案.PDF
  13. android 手机通过蓝牙连接条形码扫描枪后自动断开连接,Android手机(设备)连接扫描枪扫码遇到的问题...
  14. 唐奇安通道策略-python量化【backtrader回测】
  15. 用js转换joson返回数据库的时间格式为/Date(*************)/
  16. 微信营销为什么需要云控
  17. vue.js — 安装Webpake创建一个完整的项目并上传至码云
  18. 如何查看电脑CPU的核心个数
  19. acr38u PHP调用,ACS ACR38U-N1智能卡读卡器驱动
  20. 第五章面向对象编程设计与开发

热门文章

  1. 您不是文件所有者_如何解决您的连接不是私人错误(网站所有者指南)
  2. 第二类斯特林数与自然数幂和
  3. 客户信息管理软件(模拟康师傅版本)
  4. BurpSuite实战八之使用Burp Intruder
  5. C语言与Python3
  6. Vim 复制粘贴探秘 ----vim 粘贴 取消缩进zz
  7. 可交换债券和可转换债券的区别
  8. 来说说《凡人修仙传》
  9. MongoDB Limit与Skip方法
  10. 企业越大越好吗?王赛:想要做大的新品牌,70%将在五年后消失 | 黑盒访谈