ACM-ICPC 2018 沈阳赛区网络预赛 I. Lattice's basics in digital electronics 阅读题加模拟题
题意:https://nanti.jisuanke.com/t/31450
题解:题目很长的模拟,有点uva的感觉
分成四步
part1 16进制转为二进制string 用bitset的to_string()
part2 parity check 校对,将处理结果pushback到另一个string
part3 建字典树,用形如线段树的数组存
part4 遍历字典树
1A 233
#include<bitset>
#include <cstdio>
#include <cmath>
#include <complex>
#include <algorithm>
#include <iostream>
#include<string.h>
#define rep(i,t,n) for(int i =(t);i<=(n);++i)
#define per(i,n,t) for(int i =(n);i>=(t);--i)
#define mmm(a,b) memset(a,b,sizeof(a))
typedef long long ll;
using namespace std;
const int maxn = 8e5; int tot = ;
const int MAXN = ;
bitset<maxn>bi;
bitset<>buff[+];
char s[ + ];
char tree[ * ];
int n;
string ss;
string cd;
int main()
{ int t; cin >> t; while (t--) {
ss.clear();
cd.clear();
mmm(tree, );
int n,m;
cin >> m >> n;
rep(i, , n) {
int x;
char op[];
cin >> x >> op;
int len = strlen(op);
int now = ;
rep(j, , len - ) {
if (op[j] == '') now = now * + ;
else now = now * ;
}
tree[now] = (char)x;
}
scanf("%s", s);
int len = strlen(s);
int tot = ;
rep(i, , len - ) {
if (isdigit(s[i]))buff[tot++] = s[i] - ;
else if (s[i] >= 'a'&&s[i] <= 'z')buff[tot++] = s[i] - 'a' + ;
else buff[tot++] = s[i] - 'A' + ;
}
//rep(i, 0, tot - 1)cout << buff[i] ;cout << endl; rep(i, , tot - )
ss += buff[i].to_string();
len = ss.length();
int cnt = ;
rep(i, , len-) {
if (i % == ) {
if (cnt % == && ss[i] == ''|| cnt % == && ss[i] == '') {
string temp = ss.substr(i - , );
cd += temp;
}
}
if (i % == )cnt = ;
if (ss[i] == '')cnt++;
}
len = cd.length();
rep(i, , len - ) {
int now = ;
while (now == || !tree[now]) {
if (cd[i] == '') now = now * + ;
else now = now * ;
i++;
}
printf("%c", tree[now]); m--;
if (m == )break;
i--;
}
cout << endl;
}
cin >> t;
return ;
}
/*
2
15 9
32 0100
33 11
100 1011
101 0110
104 1010
108 00
111 100
114 0111
119 0101
A6Fd021171c562Fde1
8 3
49 0001
50 01001
51 011
14DB24722698
*/
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 题意 给出一个映射(左为ascll值),然后给出一个16进制的数,要求先将16进制转化为2进制然后每9位判断,若前8位有奇数个1且 ...
- 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,最后使流量平衡 解析: ...
随机推荐
- ios NSURLSession后台传输
http://www.appcoda.com/background-transfer-service-ios7/ http://www.raywenderlich.com/51127/nsurlses ...
- pycharm开发python利器入门
内容包含:pycharm学习技巧 Learning tips.PyCharm3.0默认快捷键(翻译的).pycharm常用设置.pycharm环境和路径配置.Pycharm实用拓展功能:pycharm ...
- LeetCode: Valid Parentheses 解题报告
Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', det ...
- Vue中使用ECharts画散点图加均值线与阴影区域
[本文出自天外归云的博客园] 需求 1. Vue中使用ECharts画散点图 2. 在图中加入加均值线 3. 在图中标注出阴影区域 实现 实现这个需求,要明确两点: 1. 知道如何在vue中使用ech ...
- java中的数据加密1 消息摘要
消息摘要(Message Digest) 又称为数字摘要(Digital Digest).它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.如果消息在途中 ...
- android ROM刷机updater-script单刷补丁包脚本
ui_print(""); ui_print("-------------------------"); ui_print(" Let's Go &q ...
- WPF Input Validation Using MVVM
Data validation is a key part in WPF.Validation is used to alert the user that the data he entered i ...
- Java如何替换所有指定(出现)的字符串?
在Java编程中,如何替换所有指定(出现)的字符串? 以下示例演示如何使用Matcher类的replaceAll()方法替换字符串中的所有出现的子字符串. package com.yiibai; im ...
- Android Demos
SDK Manager 下载demo后,可以到SDK目录下面找 例如 C:\Program Files (x86)\Java\adt-bundle-windows-x86\sdk\samples\ ...
- MySQL常见错误码及说明
1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败<=================可以忽略1008:数据库不存在,删除数据库失败<=========== ...