历届试题 分糖果

蓝桥杯 历届试题 分糖果 模拟 历届试题 分糖果   时间限制:1.0s   内存限制:256.0MB 锦囊1 锦囊2 锦囊3 问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:   每个小朋友都把自己的糖果分一半给左手边的孩子。   一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。   阅读详情

//可dfs,也可直接暴力,暴力的时候遇到了问题,比如  flag刚开始设为false,判断一直为false 则退出,,,但是死循环,然后,初始为true就过了..................

//dfs

 


 
/*
#include <cstdio>
#include<iostream>
 

#include <cstring>

 

#include <algorithm>

 

using namespace std;

 

int n;

 

struct node

 

{

 

	int val, index;

 

}a[1000010];//最初的输入 

 

int c[1000010];//c[x]存储在区间 (x-lowbit(x)+1, x)小于等于x的个数 

 

bool cmp(struct node a,struct node b)

 

{

 

	return a.val<b.val;

 

}

 

int lowbit(int x)

{

	return x&(-x);

}

 

void Update(int x)

{

 

	while(x<=n)

 

	{

 

		c[x]++; 

 

		x += lowbit(x);

 

	}

 

}

 

//计算的是当前区间(0, x)比x小的个数
int Sum(int x)
{
	int ans=0;

	while(x > 0){
		ans += c[x];
		x -= lowbit(x);
	}

	return ans;
}

 

int main()
{
	while(~scanf("%d",&n) && n)	{

		memset(c, 0, sizeof(c));

		for(int i=1;i<=n;i++){

			scanf("%d", &a[i].val);

			a[i].index = i;//离散化 
		}

 

		sort(a+1, a+1+n, cmp);//val从小到大排序 

		long long int sum[n+1]={0};//注意用long long,否则会WA 
		
	    int b[n+5];
        
        for(int i=1; i<=n; i++){
        	b[a[i].index] = i;        	
      //  	cout << a[i].val << " " << a[i].index << " " << b[i] << endl;//因为循环里还未更新完,故有的值为0 
		}               
	//	cout << b[1] << endl;

		for(int i=1;i<=n;i++){
			Update(b[i]);
			sum[i] += (i-Sum(b[i])); //i-Sum(x)计算的是当前大于x的个数
		//	cout << a[i].val << " " << sum[i] << " "<< b[i] << " " << Sum(b[i]) << endl; 
		}
		
		//a[i].val前面比它小的数
		memset(c, 0, sizeof(c));

		for(int i=n; i>=1; i--){
			Update(b[i]);
			sum[i] += Sum(b[i]-1);//可能存在=b[i] 
		//	cout << "adverse:"<< a[i].val << " " << Sum(b[i]-1) << endl; 
		}
 
 		long long SUM = 0;
 
 		for(int i=1; i<=n; i++){
 //			cout << sum[i] << endl;
 			SUM += sum[i]*(sum[i]+1)/2;
		 }

		printf("%lld\n", SUM);
		
		return 0;
}

 

	return 0;

 

}
*/
#include<iostream>
#include<cstdio>

using namespace std;


int a[110],b[110];
int cnt = 0, n;
bool flag = true;
void dfs()
{	
		for(int i=0; i<n; i++){
			b[i] = a[i]/2;
			a[i]/=2;
		}
		
		
		//传给左边
		for(int i=0; i<n; i++){
			a[i] += b[(i+1)%n];
		} 
		
		//补发 
		for(int i=0; i<n; i++){
			if(a[i]%2){
				a[i] += 1;
				cnt++;
			}
			
		}
		for(int i=1; i<n; i++){
			if(a[i]!=a[i-1]){
				dfs();
			}
			if(i == n-1){
				return;
			}
		}
}
int main()
{	
	cin >> n;
		
	for(int i=0; i<n; i++){
		cin >> a[i];
	}
	dfs();

	cout << cnt << endl; 
	
	return 0;
}
#include<iostream>
#include<cstdio>

using namespace std;

int a[110],b[110];

int main()
{
	
	int n;
	
	cin >> n;
	
	
	
	for(int i=0; i<n; i++){cin >> a[i];}
	
	int cnt = 0;
	bool flag = true;
	
	while(1){
		for(int i=1; i<n; i++){
			if(a[i]!=a[i-1]){
				flag=false;
				break;
			}
		}
		if(flag) break;
		for(int i=0; i<n; i++){
			b[i] = a[i]/2;
			a[i]/=2;
		}
		
		
		//传给左边
		for(int i=0; i<n; i++){
			a[i] += b[(i+1)%n];
		} 
		
		//补发 
		for(int i=0; i<n; i++){
			if(a[i]%2){
				a[i] += 1;
				cnt++;
			}
			
		}
		
		
		flag = true; 
	}
	cout << cnt << endl; 
	
	return 0;
}

 

 

蓝桥 历届试题 分糖果 JAVA 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入格式 程序首先读入一个整数N(2<N<100),表示小朋友的人数。 ... 阅读详情

相关推荐

Java 实现 蓝桥杯 历届试题 分糖果

问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 输入格式   程序首先读入一个整数N(2<N<100),表...

南 墙 1万+

【蓝桥杯】分糖果(DFS)

问题描述 两种糖果分别有9个和16个,要全部分给7个小朋友,每个小朋友得到的糖果总数最少为2个最多为5个,问有多少种不同的分法。糖果必须全部分完。 只要有其中一个小朋友在两种方案中分到的糖果不完全相同,这两种方案就算作不同的方案。 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 运行限制 最大运行时间:1s 最大运行内存: 256M 总通过次数: 1358|总提交次数: 1521|

qq_2937655951的博客 1402

VS2022下C# WPF项目一键打包成独立exe的完整指南

本文提供了一份在Visual Studio 2022中将C# WPF项目一键打包成独立可执行exe文件的完整指南。通过配置项目属性、启用单文件发布和自包含模式,开发者无需依赖第三方工具,即可生成可在未安装.NET运行时的电脑上直接运行的独立程序,极大简化了桌面应用的分发流程。

weixin_28831399的博客 672

C++分糖果

描述:某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果,现在他们做一个分糖果游戏。从1号小朋友开始,将他的糖果均分三份(如果有多余的,则他将多余的糖果吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号、3号、4号、5号小朋友也这样做。问一轮后,每个小朋友手上分别有多少糖果。

weixin_54899670的博客 2389

告别乱码!手把手教你用docx4j实现Word转PDF(附完整中文字体配置)

本文详细介绍了如何使用纯Java库docx4j实现Word到PDF的精准转换,并重点解决了中文乱码这一核心痛点。文章提供了从环境搭建、核心代码实现到中文字体配置的完整教程,特别针对Linux服务器部署场景,给出了详细的字体安装与映射方案,确保跨平台转换的稳定性和准确性。

nokia的博客 1153

解决Gradle中NPM命令失效问题

摘要:本文分析了IntelliJ IDEA中Gradle执行npm命令失败的问题,报错显示"npm"文件不存在。通过确认npm安装路径、检查系统PATH与Gradle环境的差异,提出两种解决方案:1) 在build.gradle中使用npm绝对路径;2) 通过launchctl修改用户PATH。实例展示了如何修改Gradle脚本或系统配置来解决该问题,指出跨平台开发中环境变量配置的重要性。文章为开发者提供了处理类似问题的实用方法。

2501_90323865的博客 90

分糖果(C++)

Alice 非常喜欢这些糖,她想要在遵循医生建议的情况下,尽可能吃到最多不同种类的糖。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。医生建议 Alice 要少摄入糖分,只吃掉她所有糖的。枚糖的情况下,可以吃到糖的 最多 种类数。,返回: Alice 在仅吃掉。给你一个长度为 n 的整数数组。

jakelihua 2122

120、NPU的Mythic M1076:模拟存算一体NPU

这篇文章分享了作者调试Mythic M1076模拟存算一体NPU的实战经验,主要包含以下要点: 硬件设计陷阱:参考电压输入必须使用低ESR电容,普通贴片电容会导致模拟计算阵列工作异常。 核心技术原理: 采用真正的存算一体架构,将权重存储为模拟电压 使用浮栅晶体管存储权重,通过电流叠加实现乘法运算 包含108个计算单元阵列(Tile),每个256×256规模 使用注意事项: 编程模型特殊,需要依赖SDK自动映射网络层 存在6-8位有效精度限制,需用量化感知训练 功耗特性独特,静态偏置电流占主要功耗 调试手段有

m0_50546716的博客 122

c++ 分糖果

int main()return 0;

guozhiyuan177993的博客 598

手把手教你学PCIE(2.1.8)--pcie基本概念流量控制(Flow Control, FC)

PCIe 的流量控制(Flow Control, FC)是确保数据传输可靠性和高效性的关键技术。通过信用值管理,发送方和接收方可以动态调整数据传输速率,避免数据丢失和溢出。理解流量控制的工作原理和实现机制对于开发和调试 PCIe 系统非常重要。希望这个介绍能帮助你更好地理解和使用 PCIe 流量控制。

MHD0815的博客 1808

由异常的测试眼图引发的深入思考

信号测试中出现“双眼皮”的眼图测试效果,可能的导致因素总结如下:PCB通道阻抗设计不匹配,负载端出现严重反射;发射端采用了不当的信号预处理;接收器均衡处理不当;通道串扰严重... 基于以上的假设,本文就逐一分析下这些因素到底是如何对正常的信号眼图造成影响的。

一只豌豆象的博客 3064

分糖果算法题-C++实现

前言 本文记录4月13日晚7点华为云笔试第三题的题目,思路以及代码实现。 一、题目简介 题目: 分糖果 具体描述: 给俩人分糖果,每袋糖果中的糖果数量不完全一致,一袋糖果只能分给一个人且必须全部分完,两个人分到的糖果数量必须相同,返回两人分到的糖果数量,如果无法平均分配则返回-1。 输入输出: 输入: 第一行输入糖果袋数。 第二行输入为一个整型数组,描述每袋糖果中的糖果数量。 输出: 第一行为每人平均分配到的糖果数,如果不能平均分配则为-1。 第二行、第三行为两个人分配到的每袋糖果中的糖果数,顺序不限。 二

icefieldwolf的博客 4296

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 272

蓝桥杯 java 历届试题 分糖果

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

weixin_44570019的博客 279

MCP+A2A:从实验室到生产环境的落地之旅

本文通过实际项目中的落地案例,展示了 MCP+A2A 协议结合使用的强大功能和广泛适用性。同时,我们也探讨了开发者社区的贡献、与其他技术的融合,以及未来技术趋势的展望。希望本文能够帮助读者更好地理解如何将这一架构从实验室推向生产环境,推动 AI 技术的实际应用。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1494

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝桥杯 历届试题 分糖果 C/C++ 题解

一、题目 历届试题 分糖果 时间限制:1.0s 内存限制:256.0MB 问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行...

qq_42323056的博客 1146

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝桥杯 历届试题 PREV-32 分糖果

历届试题 分糖果 时间限制:1.0s 内存限制:256.0MB 问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始糖果...

dcpvpf6917的博客 164

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝桥杯--历届试题 分糖果

历届试题 分糖果 时间限制:1.0s 内存限制:256.0MB 问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:   每个小朋友都把自己的糖果分一半给左手边的孩子。   一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。   反复进行这个游戏,直到所有小朋友的糖果数都相同为止。

许少y 602

【蓝桥杯历届试题】分糖果 Java版

试题 历届试题 分糖果 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发...

我的博客 399
上一篇: 历届试题 地宫取宝
下一篇: 历届试题 兰顿蚂蚁
KLFTESPACE
博客等级 码龄9年 66粉丝 655原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值