ACM-ICPC 2018 沈阳赛区网络预赛 I Lattice's basics in digital electronics(模拟)
https://nanti.jisuanke.com/t/31450
题意
给出一个映射(左为ascll值),然后给出一个16进制的数,要求先将16进制转化为2进制然后每9位判断,若前8位有奇数个1且第9位为0则这个子串取,若前8位有偶数个1且第9 位为1也取。取出的串在映射中进行查找,输出对应ascll值的字符
分析
用map直接模拟,细节需要注意。
#include <bits/stdc++.h>
using namespace std;
#define ms(a, b) memset(a, b, sizeof (a))
typedef long long ll;
const int maxn = 1e5+;
//const int inf = 1e9+7;
map<string, char> dic;
map<string, char> ::iterator it;
char s[];
char data[];
char data01[];
char r_data[];
int HtoD(char x){
if(x>=''&&x<=''){
return x - '';
}else if(x>='A'&&x<='F'){
return x-'A'+;
}else{
return x-'a'+;
}
}
bool check(int x){
int cnt = ;
for(int i = x;i<x+;i++){
if(data01[i]=='') cnt++;
}
if(cnt&){
return data01[x+]=='';
}else{
return data01[x+]=='';
}
}
int main(){
#ifdef LOCAL
freopen("in","r",stdin);
// freopen("out.txt","w",stdout);
#endif // LOCAL
int t;
scanf("%d", &t);
for(int _=;_<t;_++){
int m, n, c;
scanf("%d%d", &m, &n);
dic.clear();
for(int i = ;i<n;i++){
scanf("%d%s", &c, s);
dic[s]=(char)c;
}
scanf("%s", data);
int data_len = strlen(data);
for(int i = ;i<data_len;i++){
int x = HtoD(data[i]);
for(int j = ;j>=;j--){
if(x&(<<j))
data01[*i+-j] = '';
else
data01[*i+-j] = '';
}
}
// for(int i = 0;i<data_len*4;i+=4){
// printf("%c", data01[i]);
// printf("%c", data01[i+1]);
// printf("%c", data01[i+2]);
// printf("%c", data01[i+3]);
// printf(" ");
// }
int r_len = ;
for(int i = ;i<data_len*;i+=){
if(i+<=data_len* && check(i)){
for(int j = i;j<i+;j++){
r_data[r_len++] = data01[j];
// printf("%c", data01[j]);
}
// printf("\n");
}
}
string query = "";
for(int i = ;i<r_len;i++){
query += r_data[i];
it = dic.find(query);
if(it!=dic.end()){
printf("%c", (*it).second);
query = "";
m--;
if(m==) break;
} }
puts("");
}
return ;
}
ACM-ICPC 2018 沈阳赛区网络预赛 I Lattice's basics in digital electronics(模拟)的更多相关文章
- ACM-ICPC 2018 沈阳赛区网络预赛 I. Lattice's basics in digital electronics 阅读题加模拟题
题意:https://nanti.jisuanke.com/t/31450 题解:题目很长的模拟,有点uva的感觉 分成四步 part1 16进制转为二进制string 用bitset的to_stri ...
- ACM-ICPC 2018 沈阳赛区网络预赛 K Supreme Number(规律)
https://nanti.jisuanke.com/t/31452 题意 给出一个n (2 ≤ N ≤ 10100 ),找到最接近且小于n的一个数,这个数需要满足每位上的数字构成的集合的每个非空子集 ...
- ACM-ICPC 2018 沈阳赛区网络预赛-K:Supreme Number
Supreme Number A prime number (or a prime) is a natural number greater than 11 that cannot be formed ...
- ACM-ICPC 2018 沈阳赛区网络预赛-D:Made In Heaven(K短路+A*模板)
Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with her. ...
- 图上两点之间的第k最短路径的长度 ACM-ICPC 2018 沈阳赛区网络预赛 D. Made In Heaven
131072K One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with her. Howe ...
- ACM-ICPC 2018 沈阳赛区网络预赛 J树分块
J. Ka Chang Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero p ...
- ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number
A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...
- ACM-ICPC 2018 沈阳赛区网络预赛 F. Fantastic Graph
"Oh, There is a bipartite graph.""Make it Fantastic." X wants to check whether a ...
- Fantastic Graph 2018 沈阳赛区网络预赛 F题
题意: 二分图 有k条边,我们去选择其中的几条 每选中一条那么此条边的u 和 v的度数就+1,最后使得所有点的度数都在[l, r]这个区间内 , 这就相当于 边流入1,流出1,最后使流量平衡 解析: ...
随机推荐
- eclipse IDE使用git方法简单介绍
eclipse下使用git插件上传代码至github 1.eclipse下安装git eclipse git 插件的安装. 点击 Help->Install New Software-> ...
- Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍
Lecture 5 CNN 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit 不错的总结笔记:https://blo ...
- Cmder--Windows下代替原生的cmd命令行工具
Cmder是Windows下的命令行工具,用来代替Windows自带的cmd 官网:http://cmder.net/ 这里下载Full版本 https://github.com/cmderdev/c ...
- 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制
目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...
- Python基础——6面向对象编程
类和实例 类是抽象的模版,例如汽车:而实例则是拥有相同方法的类的实现,例如汽车里面有大众.宝马.奔驰等等,这些车都能在地面上跑,但是它们的具体数据可以不一样. calss Student(object ...
- java类加载及类初始化
1.前言 java是跨平台语言,主要是因为它的java虚拟机的存在,java有事编译语言,所以需要将编写的java文件编译成jvm可运用的class字节码文件.在java中一切皆对象.对于Java虚拟 ...
- duilib
https://www.cnblogs.com/lin1270/p/4109305.html
- Spark-RDD之Partition源码分析
概要 Spark RDD主要由Dependency.Partition.Partitioner组成,Partition是其中之一.一份待处理的原始数据会被按照相应的逻辑(例如jdbc和hdfs的spl ...
- top后台执行显示:top: failed tty get 错误
通过其他程序或脚本在非交互式模式下调用top命令,经常会出现: top: failed tty get 错误 解决办法:加个-b 选项皆可 -b : Batch mode operation ...
- day 12 装饰器
nonlocal关键字 # 作用:将 L 与 E(E中的名字需要提前定义) 的名字统一# 应用场景:如果想在被嵌套的函数中修改外部函数变量(名字)的值# 案例:def outer(): n ...