【CCF】JSON查询
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<map> using namespace std;
int n,m;
const int maxn=;
char str[maxn];
bool flag;
map<string,string> mp;
string handle(string fa){
int len=strlen(str);
len--;
for(int i=;i<len;i++){
if(str[i]=='"'){
string tmp;
while(str[++i]!='"'){
if(str[i]!='\\'){
tmp+=str[i];
}else{
++i;
tmp+=str[i];
}
}
if(flag==false){
fa=fa+'.'+tmp;
flag=true;
}else{
mp[fa]="STRING "+tmp;
flag=false;
int sz=fa.length();
int j=sz-;
for(;j>=;j--){
if(fa[j]=='.') break;
}
if(j<) fa="";
else fa=fa.substr(,j);
}
}else if(str[i]=='{'){
mp[fa]="OBJECT";
flag=false;
}else if(str[i]=='}'){
int sz=fa.length();
int j=sz-;
for(;j>=;j--){
if(fa[j]=='.') break;
}
if(j<) fa="";
else fa=fa.substr(,j);
}else{
continue;
}
}
return fa;
}
int main(){
cin>>n>>m;
getchar();
string fa="";
flag=false;
while(n--){
fgets(str,maxn,stdin);
fa=handle(fa);
}
while(m--){
string query;
cin>>query;
query='.'+query;
if(mp.find(query)!=mp.end()){
cout<<mp[query]<<endl;
}else{
cout<<"NOTEXIST"<<endl;
}
}
return ;
}
【CCF】JSON查询的更多相关文章
- CCF(JSON查询:40分):字符串+模拟
JSON查询 201709-3 纯字符串模拟,考的就是耐心和细心.可惜这两样我都缺... #include<iostream> #include<cstdio> #includ ...
- CCF CSP 201709-3 JSON查询
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-3 JSON查询 问题描述 JSON (JavaScript Object Not ...
- CCF 201709-3 JSON查询
CCF 201709-3 JSON查询 试题编号: 201709-3 试题名称: JSON查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 JSON (JavaScript ...
- JS 实现Json查询的方法实例
其实很简单,我这部分代码,前一部分是简单的实现如何使用JS写模板,第二个就是具体的实现了JSON查询的一个扩展. 以后查询Json就有了利器了. 代码如下: /* * 定义模板函数 ...
- CCF-CSP题解 201709-3 JSON查询
要求写一个小程序完成JSON查询的功能. 查询dfs就好了. 存储JSON对象用图(树)就好,把\(<key[],type,val[]>\)作为节点,然后又是字符串处理了. 其实就是个简化 ...
- CCF-CSP 201709-3 JSON查询 题解
试题编号: 201709-3 试题名称: JSON查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 JSON (JavaScript Object Notation) 是一 ...
- MySQL全文索引、联合索引、like查询、json查询速度大比拼
目录 查询背景 一.like查询 二.json函数查询 三.联合索引查询 四.全文索引查询 结论 查询背景 有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outlin ...
- Unity3D 通过JSON查询天气
一.天气查询API 获取天气信息,首先要找到提供天气数据的接口,我使用的是高德地图免费为我们提供的,网址为 https://lbs.amap.com/api/webservice/guide/api/ ...
- 【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询
mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件+count 需求: ======================================= ...
随机推荐
- 10个HTML5 实战教程 提升你的综合开发能力
HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...
- C# checked运算符
一.C# checked运算符 checked运算符用于对整型算术运算和显式转换启用溢出检查. 默认情况下,表达式产生的值如果超出了目标类型的范围,将会产生两种情况: ?常数表达式将导致编译时错误. ...
- c++ question 003 求两数大者?
#include <iostream>using namespace std; int main(){ //求两数中的大者? int a,b; cin>>a>>b; ...
- maven引入dubbo包后启动报错
启动后报错内容为: Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exce ...
- goaccess 安装
今天尝试搭建goaccess,用于分析access.log文件,但安装并不顺利,小记一下自己遇到的问题及解决方法 系统环境:CentOS release 6.9 一.参照官网教程进行搭建 $ wget ...
- awk截取指定字段
#!/bin/bash #好多地方可以优化,先记录下,便于以后使用 dir="/logs/$1"file="/logs/$1/requests.log"if [ ...
- Fakeapp 入门教程(1):安装篇!
在众多AI换脸软件中Fakeapp是流传最广,操作最简单的一款,当然他同样也是源于Deepfakes. 这款软件在设计上确实是花了一些心事,只要稍加点拨,哪怕是再小白的人也能学会.下面我就做一个入门教 ...
- JZOJ 3508. 【NOIP2013模拟11.5B组】好元素
3508. [NOIP2013模拟11.5B组]好元素(good) (File IO): input:good.in output:good.out Time Limits: 2000 ms Mem ...
- (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明
Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...
- v-model 的修饰符
1..trim 自动过滤输入内容最开始 和 最后的 空格,中间的会保留一个空格,多的会被过滤掉 2..lazy 一般情况下,在input的 v-model是一直在同步 输入的内容与显示的内容,不过再添 ...