Contest3137 - 2022-2023-2 ACM集训队每月程序设计竞赛(1)五月月赛

news2024/11/19 20:27:11

A 1! 5! 46 169

有一种数字,我们称它为 纯真数。 它等于自身每一个数位的阶乘之和。请你求出不超过n的所有 纯真数。(注:纯真数不含有前导0)数据范围1e18

纯真数只有四个,注意0!=1
1,2,145,40585

int n;cin>>n;
	int res[]={1,2,145,40585};
	if(n>=1)cout<<res[0]<<endl;
	if(n>=2)cout<<res[1]<<endl;
	if(n>=145)cout<<res[2]<<endl;
	if(n>=40585)cout<<res[3]<<endl;

B 翻转板游戏 4 26

幼儿园引进了一款新玩具,是包含若干块翻转板的一条长链。初始时翻转板上每块板子正面或反面朝上,游戏的目的为将所有翻转板最终翻转为均正面朝上。
老师认为翻转板游戏的原设置太过于简单,不能满足幼儿园里天才儿童们的游玩需求(要被小孩子嫌弃啦!),于是想要基于原游戏设备对于游戏进行升级。
为增加游戏难度, 老师规定:对于翻转板长链进行的每次操作,必须选择连续的至少 k块板子进行翻转。
现给定翻转板长链每块板子的初始状态,请你帮老师找到最大的限制条件 k,使得游戏难度最大但最终游戏有解(即一定存在至少一种方式可通过若干次操作使得所有翻转板最终翻转为正面朝上),并输出最大的 k
输入共一行,包含一个 01字符串 1~1e5
0表示第i块板子初始时正面朝上;1表示第i块板子初始时反面朝上

C 地毯规划 7 23

在这里插入图片描述
输出
4
暴力

const int N=101,mod=1e9+7;
int a[N][N],b[N][N];
signed main(){
	IOS;
	int n,m;cin>>n>>m;
	fer(i,0,n){
		fer(j,0,m)cin>>a[i][j];//要求 
	}
	int cnt,mn=1e18;
	fer(x,1,n+1){//遍历毯子大小x
		fer(y,1,n+1){//遍历毯子大小y
			fer(i,0,n){fer(j,0,m)b[i][j]=a[i][j];}//重置要求 
			cnt=0;
			bool f=1;
			fer(i,0,n){//遍历要求 
				fer(j,0,m){//遍历要求 
					int t=b[i][j];
					if(t==0)continue;
					else if(t<0){
						f=0;break;
					}else{
						cnt+=t;
						if(t>0&&i+x<=n&&j+y<=m){//可以铺毯子 
							fer(s,i,i+x){//把铺上毯子的地方减去 
								fer(k,j,j+y){
									b[s][k]-=t;
								}
							}
						}else {
							f=0;break;
						}
					}
				}
				if(!f)break;
			}
			if(f){
				mn=min(mn,cnt);
				//cout<<"x="<<x<<" y="<<y<<" "<<mn<<endl;
			}
		}
	}
	cout<<mn<<endl;
	return 0;
	
}

D 国王移动 48 104

在这里插入图片描述
在这里插入图片描述

	int x1,y1,x2,y2;cin>>x1>>y1>>x2>>y2;
	int horizon=abs(x1-x2);
	int vertical=abs(y1-y2);
	if(horizon>vertical)swap(horizon,vertical);
	//horizon<=vertical 
	int res=vertical;
	cout<<res<<endl;

E 面包店 1 12

在这里插入图片描述
输出
2
贪心不对,和除杂草有类似的问题,再想想

F 拥挤的珠峰 0 11

在这里插入图片描述
在这里插入图片描述

G 最终会相等的 1 11

在这里插入图片描述

//暴力解法,54% TLE
const int N=2e5+1,mod=1e9+7;
int a[N],b[N];
int mn=1e18,n;
int dfs(int t){

	if(t==n-1){
		if(a[t]==b[t])return 0;
		else return -1;
	}
	if(a[t]==b[t])return dfs(t+1);
		
	int minn=1e18;
	if(a[t]!=b[t]){
		fer(i,t+1,n){
			if(a[i]+i-t==b[t]){//可以左加 
				int x=a[i];
				for(int j=i;j>t;j--){//所有数右移 
					a[j]=a[j-1]-1;
				} 
				a[t]=x;
				
				int dg=dfs(t+1);
				if(dg==-1)continue;
				else minn=min(minn,dg+i-t);
				
				for(int j=t;j<i;j++){//所有数左移 
					a[j]=a[j+1]+1;
				}
				a[i]=x;
			}
		}
		if(minn!=1e18)return minn;
		else return -1;
	}
}
signed main(){
	IOS;
	cin>>n;
	int suma=0,sumb=0;
	fer(i,0,n){cin>>a[i];suma+=a[i];}
	fer(i,0,n){cin>>b[i];sumb+=b[i];}
	if(suma!=sumb)cout<<-1<<endl;
	else{
		int res=dfs(0); 
		if(res!=-1)cout<<dfs(0)<<endl;
		else cout<<-1<<endl;
	}
	return 0;
	
}

H 新版奔跑在北化 27 122

在这里插入图片描述

int a[N];
signed main(){
	IOS;
	int n,k;
	cin>>n>>k;
	int neg=-1,zero=0;
	fer(i,0,n){
		cin>>a[i];
		if(a[i]<0)neg=i;//最后一个负数的位置 
		else if(a[i]==0)zero++;
	}
	int cnt=0;
	if(zero==1)cnt++;
	int mn=1e18;
	int tmp;
	fer(i,0,n){//i是到达的该半轴的终点 
		tmp=cnt;//已打卡点数
		int cost=0; 
		if(a[i]<0){
			tmp+=neg-i+1;//打卡了这么多点 
			cost+=abs(a[i]);
			if(tmp<k){
				if(neg+k-tmp<n){
					cost+=abs(a[i]);//折返 
					cost+=a[neg+k-tmp];
				}else continue;
			}
		}else if(a[i]>0){
			tmp+=i-neg;
			cost+=a[i];
			if(tmp<k){
				if(neg-k+tmp+1>=0){
					cost+=a[i];
					cost+=abs(a[neg-k+tmp+1]);
				}else continue;
			}
		}
		mn=min(mn,cost);
	}
	cout<<mn<<endl;
	return 0;
	
}

I 花束紧凑 0 1

在这里插入图片描述

J 除杂草 37 246

在这里插入图片描述

	int n;cin>>n;
	fer(i,0,n)cin>>a[i];
	int kill=-1; 
	bool f=1;
	fer(i,0,n-1){
		if(a[i]>a[i+1]){
			kill=i;break;//拔掉高的
		}
	}
	fer(i,0,n-1){
		if(i+1==kill){
			if(a[i]>a[i+2]){
				f=0;break;
			}
		}else if(i==kill){
			continue;
		}else{
			if(a[i]>a[i+1]){
				f=0;break;
			}
		}
	}
	if(f)cout<<"Yes"<<endl;
	else {
		f=1;
		fer(i,0,n-1){
			if(a[i]>a[i+1]){
				kill=i+1;break;//拔掉矮的 
			}//kill范围是1~n-1 
		}
		fer(i,0,n-1){
			if(i+1==kill&&i+2<n){
				if(a[i]>a[i+2]){
					f=0;break;
				}
			}else if(i==kill){
				continue;
			}else{
				if(a[i]>a[i+1]){
					f=0;break;
				}
			}
		}
		if(f)cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java 并发编程】一文详解 Java volatile关键字

一文详解 Java volatile关键字 1. JMM&#xff08;Java Memory Model&#xff09;1.1 现代计算机的内存模型1.2 JMM 简介1.3 JMM 的三大特性1.4 指令重排1.5 happens-before1.5.1 happens-before 规则1.5.2 总结 1.6 as-if-serial 2. volatile 关键字2.1 volatile 的内存语义2.…

mssql 中msdb 权限说明

msdb MSDB是Microsoft SQL Server中一个系统数据库&#xff0c;它存储了SQL Server代理作业&#xff0c;备份和还原&#xff0c;数据库维护计划&#xff0c;邮件&#xff0c;日志和数据库相关的其他信息。MSDB数据库包含了许多系统表和视图&#xff0c;例如sysjobs、sysjobhis…

什么是网络——计算机网络发展史

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。座右铭&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石&#xff0c;故能成其高。个人主页&#xff1a;小李会科技的…

面了个4年的测试,自动化测试都不会,真是醉了...

最近面试了一个 4 年经验的软件测试工程师&#xff0c;简历和个人介绍都提到了精通自动化测试和性能测试&#xff0c;于是我就问了几个自动化测试方面的问题&#xff1a; 你使用过哪些自动化测试工具&#xff1f;它们之间有什么区别&#xff1f; 请解释一下 TestNG 框架&#…

分享丨从事设计10年后转行产品经理,总结6种工作差异

作者从设计转行到产品管理&#xff0c;在获得关于产品策略方面更大的话语权同时&#xff0c;也失去了专注于工作本身的自由。经历了角色转变这一过程后&#xff0c;分享了她对于这两个角色在日常生活中差异的些许反思&#xff0c;同时也鼓励大家在转变角色前&#xff0c;先深入…

增强型语言模型——走向通用智能的道路?!?

增强型语言模型——走向通用智能的道路&#xff1f;&#xff01;&#xff1f; FesianXu 20230325 at Baidu Search Team 前言 继AlphaGo在2016年横扫了人类棋手之后&#xff0c;2022年末的chatGPT横空出世&#xff0c;再次引爆了全球对人工智能技术的热情。基于语言模型的chat…

【react从入门到精通】React父子组件通信方式详解(有示例)

文章目录 前言React技能树通过 props 实现父子组件通信通过 state 实现父子组件通信通过回调函数实现父子组件通信使用 React Context 实现组件通信总结写在最后 前言 在上一篇文章《JSX详解》中我们了解了什么是jsx以及jsx的语法规则。 本文中我们将详细了解React父子组件通信…

详解SpringBoot外部化配置

SpringBoot外部化配置&#xff08;基于2.4.0以后&#xff09; Spring Boot可以让你将配置外部化&#xff0c;这样你就可以在不同的环境中使用相同的应用程序代码。 你可以使用各种外部配置源&#xff0c;包括Java properties 文件、YAML文件、环境变量和命令行参数。 属性值可…

【刷题笔记】二维数组地址计算+算法分析+进制转换

目录 一、二维数组地址计算 题目&#xff1a; 分析&#xff1a; 解答&#xff1a; 二、算法分析举例 题目&#xff1a; 分析&#xff1a; 解答&#xff1a; 三、进制转换 题目&#xff1a; 分析&#xff1a; 解答&#xff1a; 一、二维数组地址计算 题目&#xff…

3.19 makefile用法及变量(自定义变量、自动变量、隐含变量)

目录 makefile概述 makefile创建变量的目的 自定义变量 makefile变量的赋值 自动变量 makefile隐含变量 makefile概述 makefile重要性 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力 make是一个命令工具&#xff0c;是一个解释makefil…

Docker高频使用命令总结(镜像与容器命令)

目录 一.Docker常用命令总结 1.镜像命令管理 2.容器命令管理 二.Docker镜像操作命令 1.docker search&#xff1a;搜索镜像 2.docker pull&#xff1a;下载镜像 3.docker push&#xff1a;上传镜像 4.docker images&#xff1a;查看本地镜像 5.docker inspect &#x…

全球最大蒸馏体量干邑集团,邀请酣客老王讲授产品设计大师课

酒作为文化符号,寄托着全人类的精神追求,与历史、艺术为伍,充当着国际间友好交流的使者。为了弘扬中国白酒文化,把品质卓越的中国酱酒带到全世界,也为了给中国的烈酒爱好者讲清中外烈酒之间的工艺与文化差异,酣客君丰发起了“中国酱酒世界行”,不远万里探访欧洲各国名酒产区,一…

Flutter学习之旅 -网格布局

GridView列表三种形式 可以通过GridView.count实现网格布局 /* 格式: GridView.count(crossAxisCount: 一行显示数量,children: [component(),...],) */ class MyHomePage extends StatelessWidget {const MyHomePage({Key? key}) : super(key: key);overrideWidget build(B…

如何利用问卷工具助力活动开展,实现高效数据收集?

问卷调查是一种常用的活动开展方式&#xff0c;它可以帮助我们更好地了解参与者的需求和意见&#xff0c;为活动的开展提供有力的参考和依据。 1、了解期望和需求&#xff1a;在活动中&#xff0c;我们可以事先通过问卷调查了解参与者的需求、意见、对活动的需求和期望&#x…

PCB制板之前的DFM分析

PCB制板之前的DFM分析 1.华秋DFM分析2.AD18输出IPC文件3.华秋DFM分析开短路 1.华秋DFM分析 1.打开华秋DFM软件&#xff0c;目前先用这软件做DFM分析&#xff0c;主要是简单容易上手操作&#xff0c;并且分析完成之后可以一键下单。 2.将输出的gerber文件导入华秋DFM这个软件…

ubuntu18.04 + 3060 安装测试

分区 在这里&#xff0c;我们进行手动分区&#xff0c;假设你留出的空闲分区为 80G&#xff0c;点击空闲盘符&#xff0c;点击""进行分区&#xff0c;如下&#xff1a; 1&#xff09;efi&#xff1a;如果是单硬盘&#xff0c;在唯一的一个空闲分区上添加&#xff0…

为项目创建Qframework!

liangxiegame/QFramework: Unity3D System Design Architecture (github.com) 下载这个download 在unity中打开&#xff01; 就可以啦 ———— 这里总结一下UI和自动脚本两个非常常用的功能&#xff1a; UI https://www.bilibili.com/video/BV1QK411m7g4/?spm_id_from…

美格智能发布基于高通QCS8550处理器的高算力AI模组SNM970,定义未来终端新体验

近日&#xff0c;全球领先的无线通信模组及解决方案提供商美格智能发布了高算力AI模组SNM970。该产品是行业首批基于高通QCS8550处理器开发的AI模组产品&#xff0c;并凭借卓越的8核高通Kryo™ CPU、综合AI算力高达48Tops、支持Wi-Fi 7等特性&#xff0c;助力将运算效能和灵活性…

【Go Web开发】Web初识、RESTful架构和RESTful API详解、Gin框架的安装和简单使用

博主简介&#xff1a;努力学习的大一在校计算机专业学生&#xff0c;热爱学习和创作。目前在学习和分享&#xff1a;数据结构、Go&#xff0c;Java等相关知识。博主主页&#xff1a; 是瑶瑶子啦所属专栏: Go语言核心编程近期目标&#xff1a;写好专栏的每一篇文章 文章目录 一、…