原题链接:https://nanti.jisuanke.com/t/31450

附上队友代码:(感谢队友带飞)

#include <bits/stdc++.h>
using namespace std; #define ll long long
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
#define DOR(i,a,b) for(int i=(a);i>=(b);--i)
const int maxN=2e5+5,inf=0x3f3f3f3f;
int N, M, K, T;
int g[maxN];
unordered_map<string,int> mp;
char S1[maxN * 4], S2[maxN * 4], S3[maxN * 4]; struct ND{
ND *lch, *rch;
char x;
}; char cg[20][5] = {"0000","0001","0010", "0011", "0100",
"0101", "0110", "0111", "1000", "1001", "1010",
"1011", "1100", "1101", "1110", "1111"}; bool judge(char *s, int st) {
int i = 0, one = 0;
while (i < 9 && s[st + i] != 0) {
if (s[st + i] == '1')
++one;
++i;
}
if (i < 9) return 0;
if (one & 1) return 1;
else return 0;
} int main () {
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif
scanf("%d", &T);
while (T--) {
S1[0] = S2[0] = S3[0] = 0;
mp.clear();
scanf("%d%d", &M, &N);
int a;
char s[15];
FOR(i, 1, N) {
scanf("%d %s", &a, s);
mp[s] = a;
}
scanf("%s", S1);
for (int i = 0; S1[i] != 0; ++i) {
int cnt;
if (isdigit(S1[i])) cnt = S1[i] - '0';
else {
S1[i] = toupper(S1[i]);
cnt = S1[i] - 'A' + 10;
}
FOR(j, 0, 3) {
S2[i * 4 + j] = cg[cnt][j];
}
}
// puts(S1);
// puts(S2);
int L = strlen(S2), cnt = 0;
for (int i = 0; i < L; i += 9) {
bool ok = judge(S2, i);
if (ok) {
for (int j = i; j < i + 8; ++j)
S3[cnt++] = S2[j];
}
}
S3[cnt] = 0;
// cout << "cnt" << cnt << endl; /*
for (int i = 0; i < cnt; ++i) {
if (i && i % 4 == 0) printf(" ");
printf("%c",S3[i]);
}
*/
//puts(S3);
string str = S3;
int L3 = str.length();
int idx = 0;
int all = 0;
while (idx < L3) {
for (int len = 1; len <= 10; ++len) {
if (L3 - idx + 1 < len) {
idx = L3;
break;
}
string subs = str.substr(idx, len);
if (mp.count(subs)) {
printf("%c", mp[subs]);
++all; if (all == M) {
idx = L3;
break;
} idx += subs.length();
break;
}
}
}
puts(""); }
return 0;
}

ACM-ICPC 2018 沈阳赛区网络预赛 I 题 Lattice's basics in digital electronics的更多相关文章

  1. 【ACM-ICPC 2018 沈阳赛区网络预赛 I】Lattice's basics in digital electronics

    [链接] 我是链接,点我呀:) [题意] [题解] 每个单词的前缀都不同. 不能更明示了... 裸的字典树. 模拟一下.输出一下就ojbk了. [代码] #include <bits/stdc+ ...

  2. Fantastic Graph 2018 沈阳赛区网络预赛 F题

    题意: 二分图 有k条边,我们去选择其中的几条 每选中一条那么此条边的u 和 v的度数就+1,最后使得所有点的度数都在[l, r]这个区间内 , 这就相当于 边流入1,流出1,最后使流量平衡 解析: ...

  3. ACM-ICPC 2018 沈阳赛区网络预赛 K题

    题目链接: https://nanti.jisuanke.com/t/31452 AC代码(看到不好推的定理就先打表!!!!): #include<bits/stdc++.h> using ...

  4. Made In Heaven 2018 沈阳赛区网络预赛 D题

    求第k短路 模板题 套模板即可 #include <iostream> #include <cstring> #include <cstdio> #include ...

  5. ACM-ICPC 2018 沈阳赛区网络预赛 K Supreme Number(规律)

    https://nanti.jisuanke.com/t/31452 题意 给出一个n (2 ≤ N ≤ 10100 ),找到最接近且小于n的一个数,这个数需要满足每位上的数字构成的集合的每个非空子集 ...

  6. 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 ...

  7. 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. ...

  8. 图上两点之间的第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 ...

  9. 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 ...

随机推荐

  1. 最全最新java面试题系列全家桶(带答案)

    最全最新java面试题系列全家桶(带答案) 置顶 2019年04月06日 22:40:28 青春季风暴 阅读数 14082 文章标签: java面试题技术栈 更多 分类专栏: 面试   版权声明:本文 ...

  2. C# 添加log4net日志

    一.添加log4net的Nuget包 二.在Web.config或者App.config文件中添加log4net配置 代码: <log4net> <!-- OFF, FATAL, E ...

  3. API接口利用ActionFilterAttribute实现接口耗时检测

    1.主要代码 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; ...

  4. 【js】clientY pageY screenY layerY offsetY的区别

    clientY 指的是距离可视页面左上角的距离 pageY 指的是距离可视页面左上角的距离(不受页面滚动影响) screenY 指的是距离屏幕左上角的距离 layerY 指的是找到它或它父级元素中最近 ...

  5. Python学习笔记:利用爬虫自动保存图片

    兴趣才是第一生产驱动力. Part 1 起先,源于对某些网站图片浏览只能一张一张的翻页,心生不满.某夜,冒出一个想法,为什么我不能利用爬虫技术把想看的图片给爬下来,然后在本地看个够. 由此经过一番初尝 ...

  6. javascript&jquery方法比对

    参考链接:https://juejin.im/post/5d2705d8e51d4577407b1dda 参考评论链接http://youmightnotneedjquery.com/ javascr ...

  7. 禁用div元素(不可点击)

    style="pointer-events: none;" 可以封装使用 .disable { pointer-events: none; } //禁用 $.fn.disable ...

  8. Java高并发程序设计学习笔记(五):JDK并发包(各种同步控制工具的使用、并发容器及典型源码分析(Hashmap等))

    转自:https://blog.csdn.net/dataiyangu/article/details/86491786#2__696 1. 各种同步控制工具的使用1.1. ReentrantLock ...

  9. Python实现读取Excel文档中的配置并下载软件包

    问题:现在遇到这样一个问题,服务器存储了很多软件包,这些包输入不同的产品,每个产品都有自己的配置,互相交叉,那么到底某一产品所有配置的软件包下载后,占用多大空间呢? 分析:从这个问题入手,了解到:软件 ...

  10. 第十三章、元类(metaclass)

    目录 第十三章.元类(metaclass) 一.什么是元类 二.为什么用元类 第十三章.元类(metaclass) 一.什么是元类 在python中一切皆对象,那么我们用class关键字定义的类本身也 ...