2015网易游戏笔试第2题(求出压缩的字符串展开后的个
来源:互联网 发布:深圳大学博士咋样知乎 编辑:程序博客网 时间:2024/05/10 06:43
#include<iostream>#include<string>#include<vector>#include<iterator>#include<stack>using namespace std;int find_num(string &s,int &i);int main(){int number=0;cin>>number;vector<string>s_list(number);for(int i=0;i<number;i++){cin>>s_list[i];}for(int i=0;i<number;i++){stack<char>sta;stack<int>sta1;int ch_size=0;int mul=0;string s=s_list[i];for(int i=0;i<s.size();i++){if(s[i]=='('){sta.push(s[i]);}else if(s[i]>='A'&&s[i]<='Z'){if(i==0) sta1.push(1);else if(s[i-1]>='A'&&s[i-1]<='Z') {ch_size=sta1.top();sta1.pop();ch_size++;sta1.push(ch_size);}else if(s[i-1]>='0'&&s[i-1]<='9'){ch_size=sta1.top();sta1.pop();ch_size++;sta1.push(ch_size);}else{sta1.push(1);}}else if(s[i]==')'){sta.pop();ch_size=sta1.top();i++;mul=find_num(s,i);ch_size=ch_size*mul;sta1.pop();sta1.push(ch_size);}else if(s[i]>='0'&&s[i]<='9'){ch_size=sta1.top();mul=find_num(s,i);sta1.pop();sta1.push(mul+ch_size-1);}}cout<<sta1.top()<<endl;}}int find_num(string &s,int &i){int num=0;while(1){num=num*10+s[i]-'0';if(s[i+1]>='0'&&s[i+1]<='9')i++;elsebreak;}return num;}
0 0
- 2015网易游戏笔试第2题(求出压缩的字符串展开后的个
- 网易游戏笔试2015—字符串压缩
- 求出一组元素的所有排列情况&所有包含m个元素组合情况&网易笔试题-合唱团
- 网易的笔试题
- 一道网易游戏笔试题的不同解法
- 一道网易游戏笔试题的不同解法
- 网易游戏2015 在线笔试题(2)
- 2015网易游戏笔试题01
- 2015网易游戏笔试题04
- 网易游戏笔试题(2) 20171209
- 2015网易游戏笔试第一题(找9706的重复次数)
- 网易笔试的一道题
- 网易的一道笔试题
- 网易的一道笔试题
- 2015网易游戏笔试02
- 2018网易游戏笔试题
- 360-2015暑假实习笔试 给定a,b字符串 求出b相对于a的相对路径
- 名企笔试:网易游戏雷火盘古2017实习生招聘笔试题(字符串编码)
- 将字符串中的字符'*'移到串的前部分,保证非*字符的顺序位置不能变
- 实习
- 黑马程序员-----第一课Java概述
- python os模块常用方法 (五)
- 用markdown.js解析markdown时,设置图片大小
- 2015网易游戏笔试第2题(求出压缩的字符串展开后的个
- C#多线程编程
- java自学日记
- 类实现序列化时的serialVersionUID的作用
- 四个作用域
- Linux系统有7个运行级别(runlevel)
- 【一图解读】日本新安保法案一旦通过,将意味着什么?
- hdu2196 树的直径或者树形dp
- MSSql Server基础学习系列———分页查询