HPUOJ 1414: Kick Ass [字符串]
来源:互联网 发布:学java还是.net 编辑:程序博客网 时间:2024/06/05 02:00
1414: Kick Ass [字符串]
时间限制: 1 Sec 内存限制: 128 MB提交: 111 解决: 32
题目描述
你玩过一个叫做"Kick Ass - Destroy the web"的游戏吗?如果你想玩的话
当然,你没有玩过也没关系,这个游戏是通过js来加载一个飞船,让你可以通过控制它发射子弹来摧毁网页上的元素,从而获得分数。
我们知道HTML是超文本标记语言,简单地说就是通过一些标签来指明元素的展示方式,比如<p></p>
就可用作表明这是一个段落,<div></div>
表明这是一个区块。
假设有一个网页只含有<p></p>
、<div></div>
两种标记,其中<p><p>
中只含有数字,摧毁<p></p>
标记可获得其中各个数字之和的分数,摧毁<div></div>
可获得其中包含的所有<p></p>
分数与包含的<div></div>
分数二倍之和的分数。
现在给你一个网页,你能否计算出完全摧毁它可得到的分数。
为了简化难度,你可以假设:
- 所给网页的字符只有数字和标签
- 所给网页的标签都正确匹配
- 保证所给网页中的数字都在
<p></p>
标签内 <p></p>
标签内不会含有标签<div></div>
标签内可能含有<p></p>
标签和<div></div>
标签
输入
多组测试数据,请处理到文件结束。
每组占一行,有一个长度不大于1000的字符串代表所给网页。
输出
请输出完全摧毁此网页可获得的分数。
样例输入
<div><p>123</p><div><p>123</p></div></div>
样例输出
18
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<map>#include<queue>#include<string>#include<stack>#include<algorithm>using namespace std;string s;int main(){while(cin>>s){stack<int>q;int sum;int t=0;//记录进div次数 for(int i=0; i<s.size(); i++){if(s[i]=='<' && s[i+1]=='p'){i+=3;int k=0;while(s[i]>='0' && s[i]<='9'){k+= (s[i]-'0');i++;}q.push(k);}else if(s[i]=='<' && s[i+1]=='d'){t++;i+=4;q.push(-1);}else if(s[i]=='/' && s[i+1]=='d' && t){sum=0;while(!q.empty() && q.top()!=-1){//求出此div的总值 sum+=q.top();q.pop();}q.pop();//退出本层t--;if(t){//若外围还有div包着则乘2 q.push(sum*2);} else{q.push(sum);}}}sum=0;while(!q.empty()){sum+=q.top();q.pop();}printf("%d\n",sum);}return 0;}
阅读全文
0 0
- HPUOJ 1414: Kick Ass [字符串]
- 1414: Kick Ass [字符串]
- hpu1414: Kick Ass [字符串]
- 【HPUOJ 1416】Kick Ass Biu 【几何】
- 【HPU 1414: Kick Ass】
- 1414: Kick Ass【栈+思维】
- 【HPUOJ 1414:】Kick As 【栈】
- Kick Ass小游戏
- Kick Ass小游戏
- 【hpu1414】Kick Ass
- Kick Ass Biu
- 1416: Kick Ass Biu [几何]
- 1416: Kick Ass Biu [几何]
- 【HPU 1416 Kick Ass Biu】几何
- 多校联萌第三场 问题 A: Kick Ass
- 10 Free Server & Network Monitoring Tools that Kick Ass
- 50 Kick-Ass Websites You Need to Know About
- ShineTime – A Kick-Ass New jQuery & CSS3 Gallery With Animated Shine Effects
- feedforward neural networks 和 recurrent neural networks的概念
- (12)2017.8.11-数组
- js中const,var,let的区别
- ESP8266基于Linux的SDK软件开发②软件环境搭建
- java 基础加强(myeclipse,debug,junit,JDK5新特性,反射)
- HPUOJ 1414: Kick Ass [字符串]
- 灰度模型与灰色预测
- OI中犯过的2B错误
- Spring 技术核心 IOC AOP <一> IOC详解
- 网页顶部加载进度条
- 8.13
- Java实现指定数据表导出生成Excel
- PAT 1003 Emergency(单源最短路径+Dijkstra)
- 解决Unity3D 创建UWP应用出现Exception: Failed to build Visual Studio project using arguments