第八届河南省赛试题挑战密室表达式求值类_NYOJ1236

本文介绍了一种使用 C 语言实现的化学式解析算法,能够处理包含括号和各种化学元素的复杂化学式,并通过栈来计算化学式的总质量。文章详细展示了如何定义化学元素的质量、读取输入、解析化学式中的元素及其数量,以及处理括号内的重复计算。

原题地址:点击打开链接

#include<stdio.h>
#include<string.h>
#include<stack>
#define MAX 1<<31-1
using namespace std;
int a[256];
int jisuan(int i,int b)
{
	return a[i]*b;
}
int main()
{
	int k,len,i,res,count;
	char str[500];
	a['N']=14;a['C']=12;a['O']=16;a['C'+'l'*2]=35;a['S']=32;a['H']=2;a['A'+'l'*2]=27;a['C'+'a'*2]=40;//为什么要乘2?,因为 'C'+'l'=='N'+'a',好吧。。
	a['Z'+'n'*2]=65; a['N'+'a'*2]=23;
	scanf("%d",&k);
	while(k--)
	{
		res=0;
		count=1;
		stack<int>s;
		scanf("%s",str);
		len=strlen(str);
		for(i=0;i<len;i++)
			if(str[i]=='=')
				break;
			i++;
			if(str[i]>='0'&&str[i]<='9')
				count=str[i++]-'0';
		while(str[i]!='+'&&str[i]!='\0')
		{
			if(str[i]>='A'&&str[i]<='Z'&&str[i+1]>='a'&&str[i+1]<='z')
			{
				if(str[i+2]>='0'&&str[i+2]<='9')
				{
					int res=jisuan(str[i+1]*2+str[i],str[i+2]-'0');
					s.push(res);
					i+=3;
				}
				else
				{
					s.push(a[str[i+1]*2+str[i]]);
					i+=2;
				}
			}
			else if(str[i]>='A'&&str[i]<='Z')
			{
				if(str[i+1]>='0'&&str[i+1]<='9')
				{
					int res=jisuan(str[i],str[i+1]-'0');
					s.push(res);
					i+=2;
				}
				else
				{
					s.push(a[str[i]]);
					i+=1;
				}
			}
			else if(str[i]=='(')
			{
				i++;
				s.push(MAX);
			

			}
			else if(str[i]==')')
			{
				int sum=0;
				while(s.top()!=MAX)
				{
					sum+=s.top();
					s.pop();
				}
				s.pop();
				i++;
				if(str[i]>='0'&&str[i]<='9')
				{
					s.push(sum*(str[i]-'0'));
					i++;
				}
				else
				{
					s.push(sum);
				}
			}
		}
		while(!s.empty())
		{
			res+=s.top();
			s.pop();
		}
		if(res<10)
			printf("0");
		if(res<100)
			printf("0");
		if(res<1000)
			printf("0");
		printf("%d\n",res*count);
	}
	return 0;
}


内容概要:本文系统研究了基于动态三维环境下的Q-Learning算法在无人机自主避障路径规划中的应用,依托Matlab代码实现,深入剖析了强化学习在复杂、时变空间中实现智能决策的机制。研究构建了三维网格化状态空间模型,设计了合理的动作集合与奖励函数,充分考虑静态与动态障碍物的存在,使无人机能够通过与环境持续交互,自主学习规避障碍并趋近目标的最优策略。文章不仅展示了Q-Learning算法在路径规划中的具体实现流程,还涵盖了状态表示、策略迭代、收敛性分析等关键环节,并通过仿真实验验证了算法的有效性与鲁棒性,为智能体在动态环境中的自主导航提供了理论依据和技术参考。; 适合人群:具备人工智能、自动化、计算机科学或机器人学等相关专业背景,熟悉Matlab编程语言和基本的强化学习概念,从事无人机控制、智能导航、路径规划算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于城市峡谷、灾害现场等复杂动态三维场景中无人机的自主飞行与紧急避障;②作为强化学习解决实际路径规划问题的教学实例,帮助理解Q-Learning的核心思想、状态-动作值函数更新过程及探索-利用权衡策略;③为后续研究更先进的深度强化学习算法(如DQN、PPO)在无人机控制中的应用奠定基础和提供对比基准。; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,通过调整学习率、折扣因子、探索率(ε-greedy)等超参数,观察其对算法收敛速度和最终路径规划质量的影响,并尝试修改环境复杂度(如增加障碍物密度或动态性)以评估算法的泛化能力。
内容概要:本文主要围绕“单相逆变器闭环,逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究脉宽调制(PWM)技术在逆变电路中的应用。通过建立精确的数学模型与控制策略,实现对输出电压的稳定调控,提升逆变器的动态响应与抗干扰能力。文中详细介绍了系统结构、PID控制器设计、PWM信号生成及反馈环节的实现过程,并通过仿真实验验证了闭环控制相较于开环控制在输出波形质量、谐波抑制和负载适应性方面的显著优势。该研究为电力电子系统中逆变器的设计与优化提供了有效的仿真依据和技术参考。; 适合人群:具备电力电子技术基础、自动控制原理知识,熟悉Simulink仿真环境,从事电气工程、新能源发电、电力系统自动化等相关领域的科研人员及高校研究生。; 使用场景及目标:①用于教学与科研中理解单相逆变器的工作原理与闭环控制机制;②为光伏并网、不间断电源(UPS)、微电网等实际工程系统的逆变器设计提供仿真支持与优化方案;③辅助完成课程设计、毕业设计或科研项目中的系统建模与控制策略验证。; 阅读建议:建议读者结合Simulink软件动手搭建模型,逐步调试控制器参数以观察系统响应变化,深入理解PID调节、PWM调制与系统稳定性之间的关系,并可进一步拓展至并网逆变器的锁相环(PLL)控制与孤岛检测等高级功能研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值