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弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创
IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示.重构.J2EE支持.各类版本工具(如git.svn.github).maven等方面都有很好的应用. IntelliJ IDEA有免 ...
- vue li click
<ul> <li @click="mechanisms(1)">AAAAA</li> <li @click=" ...
- No FileSystem for scheme: hdfs问题
通过FileSystem.get(conf)初始化的时候,要通过静态加载来实现,其加载类的方法代码如下: private static FileSystem createFileSystem(URI ...
- linux磁盘IO读写性能优化
在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,我们可以 动态调整请求队列数来提高效率,默认的请求队列数存放在/sys/block/xvda/queue/nr_requests 文 ...
- Linux下添加windows字体
在Linux下使用wqy字体,在视觉效果上就已近很好了,其实没有必要添加windows字体.但是显然有些人(比如领导,^..^)就喜欢宋体.楷体,所以添加windows字体有时还是需要的,幸运的是这件 ...
- IDEA+API && SPI
JAVA中API和SPI的区别:https://blog.csdn.net/quanaianzj/article/details/82500019
- Filebeat原理与简单配置入门
Filebeat工作原理 Filebeat由两个主要组件组成:prospectors 和 harvesters.这两个组件协同工作将文件变动发送到指定的输出中. Harvester(收割机):负责读取 ...
- 《通过C#学Proto.Actor模型》之 HelloWorld
在微服务中,数据最终一致性的一个解决方案是通过有状态的Actor模型来达到,那什么是Actor模型呢? Actor是并行的计算模型,包含状态,行为,并且包含一个邮箱,来异步处理消息. 关于Actor的 ...
- 播放器更改语言归属地后Cnario player软件无法启动的问题
打开系统运行,输入regedit,进入注册表编辑器. 找到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\C-nario\Player下面culture 的值,删除即可 ...
- 剖析height百分比和min-height百分比
height的百分比 当我们给块元素设置百分比高度时,往往没能看到效果.因为百分比的大小是相对其最近的父级元素的高的大小,也就是说,其最近的父级元素应该有一个明确的高度值才能使其百分比高度生效. &l ...