本题比较基础,创建数组存储所有人的糖果数,如果所有人的糖果数不相等,则交换,直到所有人糖果数相等。

每次交换都是获得前面一个人的一半糖果(本次交换前的数量),交换后如果糖果数为奇数,则加1。

#include <iostream>
using namespace std;int main()
{int N;bool flag = false; //所有人糖果是否相等int number; //交换次数while (cin >> N){if (N == 0)break;int* num = new int[N + 1];int* temp = new int[N + 1];memset(num, 0, sizeof(num));memset(temp, 0, sizeof(temp));number = 0; //每次输入新的测试用例要重置flag = false; //每次输入新的测试用例要重置for (int i = 1; i <= N; i++)cin >> num[i];while (flag == false){flag = true;for (int i = 1; i < N; i++) //判断所有人的糖果数是否相等{if (num[i] != num[i + 1]){flag = false;break;}}if (flag == true)break;++number;for (int i = 1; i <= N; i++) //交换糖果{temp[i] = num[i]; //每个人的糖果数量更新前保存原值if (i == 1){num[i] = num[i] / 2 + num[N] / 2;}else{num[i] = num[i] / 2 + temp[i - 1] / 2;}}for (int i = 1; i <= N; i++) //如果糖果数为奇数则获得一个糖果{if (num[i] % 2 == 1)++num[i];}}cout << number << " " << num[1] << endl;      }return 0;
}

继续加油。

杭电OJ 1034(C++)相关推荐

  1. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  2. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  3. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

  4. 【ACM】杭电OJ 1005

     题目链接:杭电OJ 1005 超时代码如下(而且开辟的数组空间大小不够): #include <stdio.h> int m[100000]; int f(int n,int a,int ...

  5. 【ACM】杭电OJ 1004

     题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...

  6. 【ACM】杭电OJ 2012。

    题目链接:杭电OJ 2012 思路很简单,但是有一种高效算法显示编译错误,不知道为什么 运行环境:VS2017 AC代码: #include <stdio.h> #include < ...

  7. 【ACM】杭电OJ 1003。

    运行环境VS2017  题目链接:杭电OJ 1003 主要思想是: 用d[i]来存放前i项中最大的和,得到end,然后再倒推,得起始的位置begin 然而在程序42行的疑问,大家可以讨论一下吗???? ...

  8. 【ACM】杭电OJ 1241(深度优先搜索小结)

    题目链接:杭电OJ 1241 深度优先搜索问题 深度优先搜索是搜索的手段之一.它从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解. ...

  9. 【ACM】杭电OJ 1096

    题目链接:杭电OJ 1096  只要注意输出格式就好,其他没有问题! #include <stdio.h> int main () {int a,N,n,sum;scanf("% ...

最新文章

  1. 科普丨人工智能发展的S曲线
  2. 【Java基础】对象拷贝
  3. JAVA——保持cookie登录状态的HttpClient封装工具类
  4. ES6 开发常用新特性以及简述ES7
  5. 初涉c#设计模式-Iterator Pattern
  6. connect.js源码解析
  7. Fresco对Listview等快速滑动时停止加载
  8. js学习总结----js中常用的四种输出方式
  9. java objects_Java Objects-------------工具类使用
  10. 【BZOJ2565】最长双回文串(回文树)
  11. c语言游戏源码_【C语言/C++】益智游戏开发:2048(思路+源码详解)
  12. 关于高德百度地图坐标系问题
  13. 北通G3游戏手柄开箱体验,原来手游高手都是这么成就的
  14. flink job 提交模式
  15. 批量生成条形码并且使用压缩包的方式下载
  16. php 开源cms 族谱,bloofoxCMS
  17. 机器翻译的评价标准BLEU(Evaluation criteria for machine translation)
  18. HTML5 canvas 实现小时钟
  19. 放大电路的静态工作点
  20. 【Python】霍兰德人格分析雷达图

热门文章

  1. 多目标/单-VRT路径规划-更新汇总
  2. Project Euler Problem 66
  3. Ubuntu 出现这个提示“Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.”?
  4. while [ -h “$PRG“ ] ; do 该段SHELL脚本的含义及应用
  5. 重磅!发表在人工智能顶刊(TPAMI)上的一篇文章表示脑电与计算机视觉的交叉存在缺陷和盲点...
  6. 性能测试——各大厂质量保障实践分享汇总
  7. chatgpt怎么用 chatgpt使用教程
  8. 【Pytorch】内存够用但还是 RuntimeError: CUDA out of memory 问题解决
  9. java 分割_Java 根据多个连续的符号分割字符串
  10. JSP SSH机械设备台账管理系统myeclipse开发mysql数据库MVC模式java编程网页设计