hpu1414: Kick Ass [字符串]
来源:互联网 发布:苹果笔记本知乎 编辑:程序博客网 时间:2024/05/21 17:54
传送
1414: Kick Ass [字符串]
时间限制: 1 Sec 内存限制: 128 MB
提交: 117 解决: 35
题目描述
你玩过一个叫做”Kick Ass - Destroy the web”的游戏吗?如果你想玩的话
当然,你没有玩过也没关系,这个游戏是通过js来加载一个飞船,让你可以通过控制它发射子弹来摧毁网页上的元素,从而获得分数。
我们知道HTML是超文本标记语言,简单地说就是通过一些标签来指明元素的展示方式,比如
就可用作表明这是一个段落,表明这是一个区块。假设有一个网页只含有
、两种标记,其中中只含有数字,摧毁
标记可获得其中各个数字之和的分数,摧毁可获得其中包含的所有分数与包含的分数二倍之和的分数。现在给你一个网页,你能否计算出完全摧毁它可得到的分数。
为了简化难度,你可以假设:
所给网页的字符只有数字和标签所给网页的标签都正确匹配保证所给网页中的数字都在<p></p>标签内<p></p>标签内不会含有标签<div></div>标签内可能含有<p></p>标签和<div></div>标签
输入
多组测试数据,请处理到文件结束。
每组占一行,有一个长度不大于1000的字符串代表所给网页。
输出
请输出完全摧毁此网页可获得的分数。
样例输入
123
123
样例输出
18
分析:题目意思比较简单,很容易相处递归的写法
#include<iostream>#include<algorithm>#include<queue>#include<map>#include<set>#include<stack>#include<cstdio>#include<cstring>#include<vector>#define CLR(a,b) memset(a,b,sizeof a)using namespace std;typedef long long ll;char s[1005];int dfs(int k,int &t,bool f){ if(f){ int sum = 0; while(true){ if(s[k]=='<'&&s[k+1]=='p'&&s[k+2]=='>'){ sum += dfs(k+3,k,false); } else if(s[k]=='<'&&s[k+1]=='d'&&s[k+2]=='i'){ sum += 2*dfs(k+5,k,true); } else if(s[k]=='<'&&s[k+1]=='/'&&s[k+2]=='d'){ t = k+6; return sum; } } } else{ int sum = 0; while(true){ if(s[k]<='9'&&s[k]>='0') sum+=s[k]-'0'; else{ t = k+4; return sum; } k++; } }}int main(){ while(~scanf("%s",s)){ int l = strlen(s); int res = 0,i=0; while(i<l){ if(s[i]=='<'&&s[i+1]=='p'&&s[i+2]=='>'){ res += dfs(i+3,i,false); } else{ res += dfs(i+5,i,true); } } printf("%d\n",res); } return 0;}
阅读全文
0 0
- hpu1414: Kick Ass [字符串]
- 【hpu1414】Kick Ass
- 1414: Kick Ass [字符串]
- HPUOJ 1414: Kick Ass [字符串]
- Kick Ass小游戏
- Kick Ass小游戏
- 【HPU 1414: Kick Ass】
- Kick Ass Biu
- 1414: Kick Ass【栈+思维】
- 1416: Kick Ass Biu [几何]
- 1416: Kick Ass Biu [几何]
- 【HPU 1416 Kick Ass Biu】几何
- 多校联萌第三场 问题 A: Kick Ass
- 【HPUOJ 1416】Kick Ass Biu 【几何】
- 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
- SDNU 1331.Kick Veges' Ass【SDNU2015暑期集训队测验I】【二分法】【8月3】
- db2添加用户及权限
- Debian 9 安装Steam游戏平台
- 机器学习——最邻近规则分类(K Nearest Neighbor)KNN算法的应用
- ###Jsp+Servlet购物商城day03.1:商品添加到购物车。重点笔记
- 二叉排序树
- hpu1414: Kick Ass [字符串]
- hdu6205
- angular4 中使用table [rowspan]="num"
- Java的Thread的start(),run()和join()方法
- 关于SQL优化的相关问题
- requireJS
- 恶意代码分析实战 Lab 6-1 习题笔记
- 获取url中间地址
- 如何监听USB插拔