ZOJ 3826 Hierarchical Notation
来源:互联网 发布:java 400是什么错误 编辑:程序博客网 时间:2024/05/16 10:26
HASH保存每个KEY对应的值的起始位置和结束位置,最后直接输出就可以了
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>#include<algorithm>using namespace std;long long mv;map<long long,pair<long long,long long> > G;string s;long long op(char n){if(n>='0'&&n<='9')return n-'0';else if(n>='A'&&n<='Z')return n-'A'+11;else if(n>='a'&&n<='z')return n-'a'+45;else if(n=='.')return 62;return 63;}void dfs(long long n){long long temp=n;while(s[mv]!='}'){mv++;if(s[mv]=='}')return;n = temp;while(s[mv]!=':')n=n*123+op(s[mv++]);long long left = ++mv;if(s[mv]=='{')dfs(n*123+62);elsewhile(s[mv+1]!=','&&s[mv+1]!='}')mv++;G[n] = make_pair(left,mv);mv++;}}int main(){long long T;cin >> T;while(T--){cin >> s;mv = 0;G.clear();dfs(0);long long n;cin >> n;while(n--){string str;cin >> str;long long nu = 0;for(int i=0;i<str.length();i++){nu=nu*123+op(str[i]);}if(G.count(nu)){for(int i = G[nu].first;i<=G[nu].second;i++)cout<<s[i];cout<<endl;}elsecout<<"Error!"<<endl;}}return 0;}
0 0
- ZOJ 3826 Hierarchical Notation
- ZOJ 3826 Hierarchical Notation
- ZOJ 3826Hierarchical Notation
- zoj 3826 Hierarchical Notation(模拟)
- zoj 3826 Hierarchical Notation(模拟)
- ZOJ 3826 Hierarchical Notation 模拟
- zoj 3826 Hierarchical Notation 模拟
- ZOJ 3826 Hierarchical Notation 模拟
- ZOJ-3826-Hierarchical Notation【哈希】
- zoj 3826 Hierarchical Notation(模拟)
- Hierarchical Notation ZOJ
- ZOJ 3826 Hierarchical Notation(2014 牡丹江 H,字符串模拟)
- ZOJ 3826 Hierarchical Notation(2014 牡丹江 D,概率DP)
- ZOJ 3826 Hierarchical Notation(2014 Asia Mudanjiang Regional Contest)
- ZOJ 3826 Hierarchical Notation(模拟-字符串处理)
- ZOJ 3826 Hierarchical Notation(2014 牡丹江 B,树的直径+二分)
- ZOJ 3826 Hierarchical Notation(Mudanjiang 2014)(JSON解析模拟)
- ZOJ 3826 Hierarchical Notation(亚洲区域赛牡丹江站 字符串模拟)
- 4个类型转换关键字
- C++中vector的排序问题
- 信庭嵌入式工作室-Linux系统Bootloader简介(回顾)
- Number of 1 Bits
- 获取操作系统位数失败之error C2065: 'PROCESSOR_ARCHITECTURE_AMD64' : undeclared identifier
- ZOJ 3826 Hierarchical Notation
- jsp项目部署到tomcat下的执行流程
- 八叉树 Octree
- Linux中断(interrupt)子系统之五:软件中断(softIRQ)
- label相关的问题
- Linux C语言程序设计(二)——分支与循环
- ubuntu 安装openssh-server和openssh-client时呈现错误:The following packages have unmet dependencies: openssh
- SSL协议详解
- cdkey和激活码的生成