鱼C论坛

 找回密码
 立即注册
查看: 2758|回复: 6

[已解决]表达式题目求助

[复制链接]
发表于 2022-12-4 19:00:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题面
给定一个含有 n 个数字且不带括号的一个表达式 s 和一个 1 ~ n - 1 的排列 a,现在你要给这个表达式添加上括号,使表达式第 i 个运算的符号为 ai

输入格式
输入共三行
第一行,一个整数 n
第二行,一个字符串,表示这个表达式
第三行,n - 1个数字,第 i 个数字即为 ai

输出格式
输出仅一行,表示加上括号的表达式

输入样例1
3
1+2*3
1 2
输出样例1
(1+2)*3
样例解释1
如果我们想要第一个运算符(加号)先算,再让第二个运算符(乘号)先算,只能 (1+2)*3 这样去加括号

输入样例2
5
4*5+3/3-2
3 2 4 1
输出样例2
4*(5+3/3-2)
样例解释2
我们若先想要第3个运算符(除号)先算,再让第2个运算符(加号)运算,接着让第4个运算符(减号)运算,最后运算第一个符号(乘号),只能 4*(5+3/3-2) 去加括号,要注意,不能添加多余的括号,也就是说,4*(5+(3/3)-2)这这种答案是错的

数据范围/规定
保证 2 <= n <= 8
保证 a 为 1 ~ n - 1 的排列
保证 s 是一个合法,且没有括号和空格,运算符只有 +-*/ 的表达式
保证 s 中的数字在 -105 ~ 105 之间
保证 s 的长度小于 1000

最佳答案
2022-12-4 19:47:20
我不会,但是我有个思路
首先要搞会4则混合运算的方法,这个我不会,哈哈哈哈
思路如下:
1,用一个数组b来存储表达式s的正确运算顺序,如b = { 2, 1 }
2,用b和a做比较,如果a[i] == 1, 而 b[i] != 1,说明i这个位置需要加(), 修改b[i] = 1 , 如此遍历数组a,当a==b时,达到要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-12-4 19:36:40 | 显示全部楼层
@高山 可以试试这个,每个思路都试一试吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-4 19:38:14 | 显示全部楼层
zhangjinxuan 发表于 2022-12-4 19:36
@高山 可以试试这个,每个思路都试一试吧

还要问?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-4 19:41:56 | 显示全部楼层

每个思路都看看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-4 19:47:20 | 显示全部楼层    本楼为最佳答案   
我不会,但是我有个思路
首先要搞会4则混合运算的方法,这个我不会,哈哈哈哈
思路如下:
1,用一个数组b来存储表达式s的正确运算顺序,如b = { 2, 1 }
2,用b和a做比较,如果a[i] == 1, 而 b[i] != 1,说明i这个位置需要加(), 修改b[i] = 1 , 如此遍历数组a,当a==b时,达到要求

评分

参与人数 1鱼币 +1 收起 理由
zhangjinxuan + 1 这个问题白问了,之后再看看吧

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-4 19:50:29 | 显示全部楼层
两手空空儿 发表于 2022-12-4 19:47
我不会,但是我有个思路
首先要搞会4则混合运算的方法,这个我不会,哈哈哈哈
思路如下:

这个问题白问了,之后再看看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-5 20:27:25 From FishC Mobile | 显示全部楼层
我找个时间联系下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 10:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表