https://codeforces.com/contest/1175/problem/B

题解:栈+模拟+标记

1、用栈记录for嵌套;

2、变量now记录当前栈内乘积;

3、当now大于的不再向栈内添加;

4、出栈时判断当前for是否在栈内;

5、ans大于时打标记;

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const ll M=(1ll<<32)-1;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
ll ans,cnt,flag,temp,sum;
int vis[N];
char str[10];
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);stack<int>st;temp=1;while(n--){cin>>str;if(str[0]=='f'){scanf("%d",&m);if(flag){continue;}st.push(m);if(temp<=M)vis[st.size()]=1,temp*=m;}else if(str[0]=='e'){if(flag){continue;}m=st.top();if(vis[st.size()])vis[st.size()]=0,temp/=m;st.pop();}else{ans+=temp;if(ans>M)flag=1;if(flag){continue;}}}if(!flag)cout<<ans<<endl;else cout<<"OVERFLOW!!!"<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Catch Overflow!相关推荐

  1. Educational Codeforces Round 66 (Rated for Div. 2) B. Catch Overflow!

    链接:https://codeforces.com/contest/1175/problem/B 题意: You are given a function ff written in some bas ...

  2. 程序中try、throw、catch三者之间的关系

    c++程序中,采用一种专门的结构化处理逻辑的异常处理机制. 1.try语句 try语句块的作用是启动异常处理机制,检测try语句块中程序语句执行时可能出现的异常. try语句块总是与catch一同出现 ...

  3. Educational Codeforces Round 66 (Rated for Div. 2)

    题意:求最小操作数 使得归零   两种操作 1 减一   2能被k整除的时候除k 签到题: 记得开ll即可 #include<bits/stdc++.h> using namespace ...

  4. C++异常处理(try和catch)

    在C++中,一个函数能够检测出异常并且将异常返回,这种机制称为抛出异常.当抛出异常后,函数调用者捕获到该异常,并对该异常进行处理,我们称之为异常捕获.        C++新增throw关键字用于抛出 ...

  5. html布局overflow,overflow的中文意思

    html overflow什么意思 意思:HTML溢出: HTML缩写:超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用.HTML 不是一种编程语言 ...

  6. 溢出科普:heap overflow溢出保护和绕过

    pr0mise · 2016/04/11 9:50 0x00 第一部分:heap overflow 接上文,来看另外一种溢出方式:堆溢出.相对于栈溢出来说,稍微麻烦一点 本文算是一个笔记,技术有限,难 ...

  7. 了解Stack Overflow,这是您获得编程和调试知识的途径

    无休止的知识? (Endless knowledge?) Can you imagine a platform where you could access the advice and wisdom ...

  8. Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题

    Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题 前言 本篇博客记录一下小巫在使用actionbar的时候遇到关于溢出菜单的一些问题: 什么是Over ...

  9. Android ActionBar中Overflow Menu(溢出菜单)中的一些问题

    关注微信号:javalearns   随时随地学Java 或扫一扫 随时随地学Java 前言 开始前我们先来关注一下Android Overflow menu的几个相关问题: 什么是Overflow ...

最新文章

  1. socket 995 错误 boost
  2. Java中++i和i++的区别
  3. Linux:命令执行控制与||
  4. 新浪微博oauth2.0弹出验证dialog中输入框被输入法覆盖的解决办法
  5. 04、Vue.js---自定义过滤器
  6. 西安电子科技大学计算机录取分数,2021年西安电子科技大学投档线及各省最低录取分数线统计表...
  7. 《Python Cookbook 3rd》笔记(1.19):转换并同时计算数据
  8. 求字符串全排列的递归算法
  9. java byreference_Java中各种引用(Reference)解析
  10. 对于python命令行参数使用,你应该这么做才专业
  11. c语言红警源代码,真香!红警游戏源代码开源了,70,80,90最好的游戏
  12. 虚拟机讲只读文件变为可读可写文件_Linux虚拟机文件系统突然变成只读
  13. SpringBoot是什么?
  14. SSM+Jedis初体验
  15. 混沌之初--制作一款RPG游戏
  16. 添加虚拟机镜像centso 8的步骤
  17. 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016
  18. 成为IT精英,我奋斗了7年
  19. 联邦学习攻击与防御综述
  20. Hadoop常用命令介绍

热门文章

  1. c语言turboc图形代码,发个C代码(简单动画演示)
  2. mysql6支持connect by_mysql 实现oracle start with connect by递归
  3. css 边框设置成不透明,css中如何设置半透明边框?
  4. java swing form_在java swing中创建表单最简单的方法是什么?
  5. centos7下php设置用户和组,centos系统添加/删除用户和用户组的例子
  6. 【机器学习算法专题(蓄力计划)】十二、机器学习中KNN算法
  7. 四十五、爬取QQ音乐Lemon 日语歌的评论
  8. Sun公司因为不懂销售和运营,导致陨落,最终软件还是打败了硬件
  9. pytorch 入门Tensor(一)
  10. 今晚直播 | 商汤科技X-Lab刘宇:神经网络结构与大规模优化方法