【链接】 我是链接,点我呀:)
【题意】

在这里输入题意

【题解】

把所有的问号都改成'1'
然后会发现只有+0?这种情况
需要把?改成+.
看看这样的0后面的1是不是由问号改过来的就好了。是的话
再把这个1变成'+'就好。
判断一下首尾有符号的情况。
以及连续两个出现符号的情况。

【代码】

#include <bits/stdc++.h>
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define all(x) x.begin(),x.end()
#define pb push_back
#define lson l,mid,rt<<1
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%lld",&x)
#define res(x) scanf("%s",x)
#define rson mid+1,r,rt<<1|1
using namespace std;const double pi = acos(-1);
const int dx[4] = {0,0,1,-1};
const int dy[4] = {1,-1,0,0};const int N = 1e5;
bool flag[1000];
string s;bool issign(char key){if (key=='+' || key=='*') return true;return false;
}bool isnumber(char key){if (key>='0' && key<='9')return true;return false;
}bool ok(){memset(flag,0,sizeof flag);int len = s.size();for (int i = 0;i < len;i++)if (s[i]=='?')flag[i] = 1;for (int i = 0;i < len;i++)if (s[i]=='?')s[i] = '1';for (int i = 0;i < len;i++){if (s[i]=='0' && (i==0 || !isnumber(s[i-1])) && i<len-1 && isnumber(s[i+1])){//s[i]是一个前导0if (!flag[i+1]) return false;s[i+1] = '+';}}if (issign(s[0]) || issign(s[len-1])) return false;for (int i = 0;i < len-1;i++)if (issign(s[i]) && issign(s[i+1]))return false;return true;
}int main(){#ifdef LOCAL_DEFINEfreopen("rush_in.txt", "r", stdin);//freopen("D:\\out.txt","w",stdout);#endifios::sync_with_stdio(0),cin.tie(0);int T;cin >> T;while (T--){cin >> s;if (!ok()){cout<<"IMPOSSIBLE"<<endl;}else{cout<<s<<endl;}}return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/9403686.html

【hdu 6342】Expression in Memories相关推荐

  1. 大数加法【HDU 1002】

    大数加法模板 一般的加法只要int类型的两数直接相加即可,大一点的数可以设为long long类型,而超过长整型的数则属于大数问题了,大数加法其实也比较简单,利用数组实现就可以啦: 主要思想如下: ( ...

  2. 【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)

    题干: Dear contestant, now you are an excellent navy commander, who is responsible of a tough mission ...

  3. 【HDU - 1455】Sticks (dfs + 剪枝)

    题干: George took sticks of the same length and cut them randomly until all parts became at most 50 un ...

  4. 【HDU - 4006】The kth great number (优先队列,求第k大的数)

    题干: Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to wri ...

  5. 【HDU - 4217 】Data Structure? (线段树求第k小数)

    题干: Data structure is one of the basic skills for Computer Science students, which is a particular w ...

  6. 【HDU - 1754】I Hate It (线段树模板 单点覆盖更新+区间最大值查询)

    题干: 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.  这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当 ...

  7. 【HDU 5765】Bonds(进制运算妙用)

    [HDU 5765]Bonds(进制运算妙用) Bonds Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K ...

  8. 【HDU 5755】Gambler Bo(高斯消元)

    [HDU 5755]Gambler Bo(高斯消元) Gambler Bo Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072 ...

  9. 【HDU 6973】Bookshop 树剖+平衡树

    [HDU 6973]Bookshop 树剖+平衡树 [引言] ​ 平衡树的题做得比较少,难得补一次神题,记录一下供以后学习. [题意] ​ 给出一棵 nnn 个结点的树,每个结点有一个价值为 pip_ ...

最新文章

  1. Python发送邮件smtplib.SMTP各报错问题的解决方法
  2. 第十二章:二叉查找树(1)
  3. 伯努利数(详解 + 例题 :P3711 仓鼠的数学题)
  4. 高低温湿热试验箱使用的注意事项
  5. cf 621E. Wet Shark and Blocks
  6. 文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit
  7. Linux 汇编学习
  8. 高级JAVA - 高并发下接口限流 Semaphore
  9. SQL 内置排名函数 DENSE_RANK
  10. 数据分析:星巴克店铺分布有何规律?
  11. springboot2+activiti6定时器不执行问题解决
  12. jieba库是python提供的一个标准的用于分词的函数库_运用jieba库分词
  13. Pycharm 搭建 Django 项目 (非常详细)
  14. (转载)SpringBoot配置Druid数据源监控服务Yml格式
  15. Redis集群的节点通信原理
  16. Andriod中插入百度广告的使用
  17. 嵌入式Linux--根文件系统(二)BusyBox构建根文件系统
  18. 什么第一台多媒体电子计算机诞生,第一台多媒体电计算机是哪一年诞生的
  19. 欢迎到我们的学海灯塔给我们留言
  20. 批量启动docer容器shell脚本

热门文章

  1. 配置Struts 2应用程序的安全功能(转)
  2. error MIDL2025/2026
  3. 如何制作VSPackage的安装程序
  4. git如何添加远程主机_git 配置远程主机名
  5. 如何找出电脑里的流氓软件_啥拦截软件都挡不住?教你一键揪出乱弹窗的流氓软件...
  6. delphi webbrowser 对象不支持_【Python 秘籍】排序不支持原生比较的对象
  7. linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?
  8. 冒泡排序汇总(整数,实数,字符,字符串)
  9. OpenMV生成AprilTag码
  10. python中pygal_Python数据可视化之Pygal图表类型