【hdu 6342】Expression in Memories
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
把所有的问号都改成'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相关推荐
- 大数加法【HDU 1002】
大数加法模板 一般的加法只要int类型的两数直接相加即可,大一点的数可以设为long long类型,而超过长整型的数则属于大数问题了,大数加法其实也比较简单,利用数组实现就可以啦: 主要思想如下: ( ...
- 【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)
题干: Dear contestant, now you are an excellent navy commander, who is responsible of a tough mission ...
- 【HDU - 1455】Sticks (dfs + 剪枝)
题干: George took sticks of the same length and cut them randomly until all parts became at most 50 un ...
- 【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 ...
- 【HDU - 4217 】Data Structure? (线段树求第k小数)
题干: Data structure is one of the basic skills for Computer Science students, which is a particular w ...
- 【HDU - 1754】I Hate It (线段树模板 单点覆盖更新+区间最大值查询)
题干: 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当 ...
- 【HDU 5765】Bonds(进制运算妙用)
[HDU 5765]Bonds(进制运算妙用) Bonds Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K ...
- 【HDU 5755】Gambler Bo(高斯消元)
[HDU 5755]Gambler Bo(高斯消元) Gambler Bo Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072 ...
- 【HDU 6973】Bookshop 树剖+平衡树
[HDU 6973]Bookshop 树剖+平衡树 [引言] 平衡树的题做得比较少,难得补一次神题,记录一下供以后学习. [题意] 给出一棵 nnn 个结点的树,每个结点有一个价值为 pip_ ...
最新文章
- Python发送邮件smtplib.SMTP各报错问题的解决方法
- 第十二章:二叉查找树(1)
- 伯努利数(详解 + 例题 :P3711 仓鼠的数学题)
- 高低温湿热试验箱使用的注意事项
- cf 621E. Wet Shark and Blocks
- 文本编辑器查看 cprintf颜色_实战PyQt5: 028-纯文本编辑控件QPlainTextEdit
- Linux 汇编学习
- 高级JAVA - 高并发下接口限流 Semaphore
- SQL 内置排名函数 DENSE_RANK
- 数据分析:星巴克店铺分布有何规律?
- springboot2+activiti6定时器不执行问题解决
- jieba库是python提供的一个标准的用于分词的函数库_运用jieba库分词
- Pycharm 搭建 Django 项目 (非常详细)
- (转载)SpringBoot配置Druid数据源监控服务Yml格式
- Redis集群的节点通信原理
- Andriod中插入百度广告的使用
- 嵌入式Linux--根文件系统(二)BusyBox构建根文件系统
- 什么第一台多媒体电子计算机诞生,第一台多媒体电计算机是哪一年诞生的
- 欢迎到我们的学海灯塔给我们留言
- 批量启动docer容器shell脚本
热门文章
- 配置Struts 2应用程序的安全功能(转)
- error MIDL2025/2026
- 如何制作VSPackage的安装程序
- git如何添加远程主机_git 配置远程主机名
- 如何找出电脑里的流氓软件_啥拦截软件都挡不住?教你一键揪出乱弹窗的流氓软件...
- delphi webbrowser 对象不支持_【Python 秘籍】排序不支持原生比较的对象
- linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?
- 冒泡排序汇总(整数,实数,字符,字符串)
- OpenMV生成AprilTag码
- python中pygal_Python数据可视化之Pygal图表类型