CCF201912-4 区块链(100分)【模拟】
试题编号: 201912-4
试题名称: 区块链
时间限制: 10.0s
内存限制: 512.0MB
问题链接:CCF201912-4 区块链
问题简述:(略)
问题分析:模拟题,不解释。
程序说明:(略)
参考链接:(略)
题记:(略)
100分的C++语言程序如下:
/* CCF201912-4 区块链 */#include <bits/stdc++.h>using namespace std;struct Node {int ctime; // 当前时间int now; // 当前结点编号int id; // 邻居结点对应的链编号int father; // 邻居结点编号
};const int N = 500 + 1;
vector<int> g[N];
queue<Node> q;
vector<vector<int> > l;
int data[N];int main()
{std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);int n, m, u, v, t, k, a, b, c;cin >> n >> m;for (int i = 1; i <= m; i++) {cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}memset(data, 0, sizeof data);l.push_back({0}); // 初始链长为1,只有一个块0cin >> t >> k;while (k--) {cin >> a >> b;int flag = 0;while (!q.empty() && q.front().ctime <= b) {Node f = q.front();q.pop();int ctime = f.ctime;int id = f.id;int now = f.now;int father = f.father;if (l[id].size() < l[data[now]].size() ||(l[id].size() == l[data[now]].size() &&l[id].back() >= l[data[now]].back()))continue;data[now] = id;flag = 1;for (auto v2:g[now])if (v2 != father) q.push({ctime + t, v2, id, now});}if (cin.get() == '\n' || cin.eof()) {cout << l[data[a]].size();for (auto v2:l[data[a]])cout << " " << v2;cout << '\n';} else {// 更新主链cin >> c;vector<int> tmp = l[data[a]];tmp.push_back(c);l.push_back(tmp);data[a] = l.size() - 1;flag = 1;}// 修改主链成功,更新邻居if (flag)for (auto v2:g[a])q.push({b + t, v2, data[a], a});}return 0;
}
CCF201912-4 区块链(100分)【模拟】相关推荐
- 区块链100讲:据说,80%的人都搞不懂哈希算法
2019独角兽企业重金招聘Python工程师标准>>> 前面的<区块链100讲>介绍了区块链.算力.挖矿等,几乎每一讲都会提到一个词哈希(Hashing).聊到区块链的时 ...
- 区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!
2019独角兽企业重金招聘Python工程师标准>>> 区块链100讲上期我们讲了哈希算法和公开密钥算法,说到哈希算法提到了一个名词"Merkle tree",梅 ...
- 区块链100讲:V神·以太坊上的分片
五月初,以太坊创始人"V神"Vitalik Buterin表示,以太坊的内部扩展解决方案--分片已经接近完成.以太坊分片旨在将以太坊分成几个并发网络,从而使整个网络更加高效地扩展, ...
- 《区块链100问》第51-60节
转载请注明出处:https://blog.csdn.net/sinat_14849739/article/details/82119136 本文出自Shawpoo的专栏 我的简书:简书 1.区块链资产 ...
- 《区块链100问》笔记整理——23~41问
火币集团打造了业内首个讲解区块链的系列小动画<区块链100问>,由新浪科技联合出品. 将抽象的区块链概念转化为100集轻松易懂的1分钟小动画,每集学懂一个知识点~ 原视频链接如下:http ...
- 区块链100讲:不做码农做矿工,该怎么和爹妈解释
说起区块链和比特币的时候都会提到一个词"挖矿",还有个角色叫"矿工",等等,区块链不是属于技术圈吗?怎么和挖矿扯上关系了?只听说过管IT圈儿的人叫码农,怎么还有 ...
- 区块链100讲:带你走进EOS的存储系统
2019独角兽企业重金招聘Python工程师标准>>> 1 海量数据 在一个完全去中心化的区块链系统中,每个节点如果想验证某一笔交易是否正确,则必须下载完整的区块链数据,随着时间的推 ...
- 区块链100讲:Truffle——一个更简单的部署智能合约的方法
本期<区块链100讲>我们将介绍一个更简单的部署智能合约的方法:Truffle. 1 什么是Truffle ? Truffle是针对基于以太坊的Solidity语言的一套开发框架.本身基于 ...
- 区块链100讲:能够证明你是你的数字签名和多重签名
随着区块链相关技术的创新和突破,很多有形或无形资产都将实现去中心化,数字资产将无处不在.要保护数字出版物版权,实现去中心化,解决业界多年来版权保护不力的难题.无论数字资产,还是数字出版版权,都是有明确 ...
- 区块链100讲:从村里的账本来看什么是区块链
2019独角兽企业重金招聘Python工程师标准>>> 很久以前就有个想法,把区块链的技术和概念整理成一个体系化的知识图谱,方便大家查阅和学习,大话已说出去很久,却一直没有践行(pa ...
最新文章
- android百度地图轨迹实现,android 获取GPS经纬度在百度地图上绘制轨迹
- Logback中如何自定义灵活的日志过滤规则
- No module named ‘fvcore.nn.distributed‘
- python语言怎么输入-python/基础输出输入用法
- 安装nexus时遇到的一个问题
- ROS系统 参数的获取和设置
- 学生创客 开公司造3D打印机
- python绘图函数m_python绘图数据m
- xp共享计算机,XP怎么设置局域网共享?
- 设计灵感|排版太死板?提高品质的角度很重要
- cmake cache变量_反复研究好几遍,我才发现关于 CMake 变量还可以这样理解!
- 约瑟夫(环)问题(Josephus problem)
- TCP协议与IP协议
- spj查询零件、工程、供应商表
- PCRP21-100-1-SSI-KAB5M VOITH
- java 解析der文件_java-如何读取也用bouncycastle在DER中编码的PK...
- Codeforces Round #361 (Div. 2) C 二分
- 利用trie Tree 解决查找连续子字符串的问题
- 【论文】医疗大数据方面的资料
- ffmpeg 的那些坑