蓝桥杯 算法训练 ALGO-92 前缀表达式 c/c++

本文介绍了一个简单的前缀表达式计算器程序,该程序能够接收一个包含运算符和两个整数的前缀表达式,然后根据运算符计算并输出结果。支持的运算包括加法、减法、乘法和除法。

/*

问题描述
  编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:
“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法)
,运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,
分别设计相应的函数来实现。
  输入格式:输入只有一行,即一个前缀表达式字符串。
  输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。
  输入输出样例
样例输入

  • 5 2
    样例输出
    7

*/

#include<iostream>
using namespace std;
int main()
{
	char c;
	int a,b;
	cin>>c;
	cin>>a>>b;
	switch(c)
	{
		case '+':
			cout<<a+b<<endl;break;
		case '-':
			cout<<a-b<<endl;break;
		case '*':
			cout<<a*b<<endl;break;
		case '/':
			cout<<a/b<<endl; break;
		default:break;
	}
	return 0;
}
``` class Solution { public: int minimumDeleteSum(string s1, string s2) { /* dp[i][j]s1前i和s2前j的字符ascll最小 当s1[i]==s[j] dp[i][j]=dp[i-1][j-1] 当s1[i]!=s[j] if min==dp[i-1][j-1] dp[i][j]=min+min{s1[i],s2[j]} else if min==dp[i-1][j] dp[i][j]=min+s2[j] else dp[i][j]=min+s1[i]; */ int n = s1.length(); int m = s2.length(); vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0)); // 初始化 for (int i = 1; i <= n; i++) dp[i][0] = int(s1[i]) + dp[i - 1][0]; for (int i = 1; i <= m; i++) dp[0][i] = int(s2[i]) + dp[0][i - 1]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (s1[i] == s2[j]) dp[i][j] = dp[i - 1][j - 1]; else { int a = dp[i - 1][j - 1]+ int(s1[i])+int(s2[j]); int b=dp[i-1][j]+ int(s1[i]); int c=dp[i][j-1]+int(s2[j]); dp[i][j]=min{a,b,c}; } } } return dp[n][m]; } };```Line 36: Char 30: error: assigning to 'value_type' (aka 'int') from incompatible type '<overloaded function type>' 36 | dp[i][j]=min{a,b,c}; | ^~~ /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/algorithmfwd.h:416:5: note: candidate function template 407 | min(const _Tp&, const _Tp&); | ^ /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/algorithmfwd.h:421:5: note: candidate function template 412 | min(const _Tp&, const _Tp&, _Compare); | ^ /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:5685:5: note: candidate function template 5676 | min(initializer_list<_Tp> __l) | ^ /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:5695:5: note: candidate function template 5686 | min(initializer_list<_Tp> __l, _Compare __comp) | ^
03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值