模拟/字符串处理 UVALive 6833 Miscalculatio
/*
模拟/字符串处理:主要是对*的处理,先把乘的预处理后再用加法,比如说是:1+2*3+4 = 1+..6+4 = 11
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
using namespace std; typedef long long ll;
const int MAXN = 1e2 + ;
const int INF = 0x3f3f3f3f;
char s[MAXN];
int len; void solve(void)
{
int p1 = , p2 = ;
for (int i=; i<=len; ++i)
{
if (s[i] == '*')
{
p1 = p2 = i;
while (p1 >= && s[p1] != '+') p1--; p1++;
while (p2 <= len && s[p2] != '+') p2++; p2--;
ll tmp = ;
for (int j=p1; j<=p2; j+=)
{
if (j == p1) tmp = s[j] - '';
else tmp = tmp * (s[j] - '');
}
// printf ("p1: %d p2: %d\ntmp: %d\n", p1, p2, tmp);
int p = p2;
while (tmp)
{
s[p--] = tmp % + '';
tmp /= ;
}
for (int j=p1; j<=p; ++j) s[j] = '.';
}
}
} int main(void) //UVALive 6833 Miscalculation
{
// freopen ("B.in", "r", stdin); while (scanf ("%s", s + ) == )
{
ll y; scanf ("%lld", &y);
ll sum_l = , sum_m = ; len = strlen (s + ); char op; int x = ;
for (int i=; i<=len; ++i)
{
if (i & )
{
if (i == ) sum_l = s[i] - '';
else
{
if (op == '+') sum_l += s[i] - '';
else sum_l = sum_l * (s[i] - '');
}
}
else op = s[i];
} solve ();
for (int i=; i<=len; ++i)
{
if (s[i] == '.' || s[i] == '+') continue;
else if (s[i] >= '' && s[i] <= '')
{
ll res = ; int j;
for (j=i; j<=len; ++j)
{
if (s[j] == '+') break;
res = res * + (s[j] - '');
}
sum_m += res;
i = j - ;
}
} if (y == sum_l && y == sum_m) puts ("U");
else if (y != sum_l && y != sum_m) puts ("I");
else
{
if (y == sum_l) puts ("L");
else puts ("M");
} // printf ("%s\n", s + 1);
// printf ("%lld %lld \n", sum_l, sum_m);
} return ;
}
模拟/字符串处理 UVALive 6833 Miscalculatio的更多相关文章
- 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历
二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历 二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则 ...
- 【Miscalculation UVALive - 6833 】【模拟】
题目分析 题目讲的是给你一个串,里面是加法.乘法混合运算(个人赛中误看成是加减乘除混合运算),有两种算法,一种是乘法优先运算,另一种是依次从左向右运算(不管它是否乘在前还是加在前). 个人赛中试着模拟 ...
- UVAlive 6833 Miscalculation 字符串处理
去年省选的题 因为卡了这道题再加上队友占机时 省选第一天华丽爆零了 用事实证明了1+1+1<1的事实 毕竟下半年单挑了东北赛名额 省赛打不出来名额就真的就不怪我了(摔 现在有拿出来做 长个记性 ...
- UVALive 6833【模拟】
题意: 算从左往右的值,先乘后加的值,数的范围<=9= =,然后根据满足的条件输出字符. 思路: 从左往右就是直接来了,先做乘法就是乘法两边的数字靠向右边那个,且左边那个为0,然后所有值一加就好 ...
- POJ 1016 模拟字符串
Numbers That Count Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20396 Accepted: 68 ...
- java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”
/* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白 * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空 ...
- TZOJ 4865 统计单词数(模拟字符串)
描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的 ...
- PAT L2-008 最长对称子串(模拟字符串)
对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...
- TZOJ 5280 搜索引擎(模拟字符串)
描述 谷歌.百度等搜索引擎已经成为了互连网中不可或缺的一部分.在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多. 本题的输入将首先给出一系列的论文,对于每篇论 ...
随机推荐
- [Bash] Create nested folder in Bash
We can create a single folder by doing: mkdir onefolder If we want to create nested folder we need t ...
- js中window.onload 与 jquery中$(document.ready()) 測试
js中window.onload 与 jquery中$(document.ready())差别,验证代码例如以下(调换js代码和Jquer代码书写顺序測试.执行结果一样.因此与代码书写位置没关系): ...
- 【Facebook的UI开发框架React入门之八】Image的使用简单介绍(iOS平台)-goodmao
--------------------------------------------------------------------------------------------------- ...
- Atitit.软件仪表盘(7)--温度监測子系统--电脑重要部件温度与监控and警报
Atitit.软件仪表盘(7)--温度监測子系统--电脑重要部件温度与监控and警报 Cpu温度.风扇转速 主板温度 显卡温度 硬盘温度 电池温度 鲁大师 硬盘温度 Cpu温度 core temp ...
- Android——SlidingMenu学习总结
来源 SlidingMenu是github上比較火开源库.很强大,不但但是简单的设置实现两側滑动菜单,还能够设置菜单的阴影.渐变色.划动模式等. 下载地址:https://github.com/jfe ...
- HDUJ 1203 I NEED A OFFER!
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 02-Swift学习笔记-元组类型
02-Swift学习笔记-元组类型 元组类型由N个任意类型的数据组成(N>=0) 元组类型的数据称为"元素" eg var size = (x:100 , y:100) si ...
- Windows 7旗舰版安装Visual Studio 2013 Ultimate的系统必备及注意事项
系统必备: 1.Windows7 SP1 2.IE 10
- A Simple Example About Privileged Methods in JavaScript
Douglas Crockford classified the "class methods" in JavaScript into three types: private, ...
- oracle的日期蛋
一切都是扯鸡巴蛋. 在网上查oracle的日期函数用法,得到一大堆语法,林林总总,都是扯鸡巴蛋,没能解决我的问题. 其实,我想写这么一条语句:查找某个日期(不含时分秒)产生或有关的记录.咋写? SQL ...