试题编号: 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分)【模拟】相关推荐

  1. 区块链100讲:据说,80%的人都搞不懂哈希算法

    2019独角兽企业重金招聘Python工程师标准>>> 前面的<区块链100讲>介绍了区块链.算力.挖矿等,几乎每一讲都会提到一个词哈希(Hashing).聊到区块链的时 ...

  2. 区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!

    2019独角兽企业重金招聘Python工程师标准>>> 区块链100讲上期我们讲了哈希算法和公开密钥算法,说到哈希算法提到了一个名词"Merkle tree",梅 ...

  3. 区块链100讲:V神·以太坊上的分片

    五月初,以太坊创始人"V神"Vitalik Buterin表示,以太坊的内部扩展解决方案--分片已经接近完成.以太坊分片旨在将以太坊分成几个并发网络,从而使整个网络更加高效地扩展, ...

  4. 《区块链100问》第51-60节

    转载请注明出处:https://blog.csdn.net/sinat_14849739/article/details/82119136 本文出自Shawpoo的专栏 我的简书:简书 1.区块链资产 ...

  5. 《区块链100问》笔记整理——23~41问

    火币集团打造了业内首个讲解区块链的系列小动画<区块链100问>,由新浪科技联合出品. 将抽象的区块链概念转化为100集轻松易懂的1分钟小动画,每集学懂一个知识点~ 原视频链接如下:http ...

  6. 区块链100讲:不做码农做矿工,该怎么和爹妈解释

    说起区块链和比特币的时候都会提到一个词"挖矿",还有个角色叫"矿工",等等,区块链不是属于技术圈吗?怎么和挖矿扯上关系了?只听说过管IT圈儿的人叫码农,怎么还有 ...

  7. 区块链100讲:带你走进EOS的存储系统

    2019独角兽企业重金招聘Python工程师标准>>> 1 海量数据 在一个完全去中心化的区块链系统中,每个节点如果想验证某一笔交易是否正确,则必须下载完整的区块链数据,随着时间的推 ...

  8. 区块链100讲:Truffle——一个更简单的部署智能合约的方法

    本期<区块链100讲>我们将介绍一个更简单的部署智能合约的方法:Truffle. 1 什么是Truffle ? Truffle是针对基于以太坊的Solidity语言的一套开发框架.本身基于 ...

  9. 区块链100讲:能够证明你是你的数字签名和多重签名

    随着区块链相关技术的创新和突破,很多有形或无形资产都将实现去中心化,数字资产将无处不在.要保护数字出版物版权,实现去中心化,解决业界多年来版权保护不力的难题.无论数字资产,还是数字出版版权,都是有明确 ...

  10. 区块链100讲:从村里的账本来看什么是区块链

    2019独角兽企业重金招聘Python工程师标准>>> 很久以前就有个想法,把区块链的技术和概念整理成一个体系化的知识图谱,方便大家查阅和学习,大话已说出去很久,却一直没有践行(pa ...

最新文章

  1. android百度地图轨迹实现,android 获取GPS经纬度在百度地图上绘制轨迹
  2. Logback中如何自定义灵活的日志过滤规则
  3. No module named ‘fvcore.nn.distributed‘
  4. python语言怎么输入-python/基础输出输入用法
  5. 安装nexus时遇到的一个问题
  6. ROS系统 参数的获取和设置
  7. 学生创客 开公司造3D打印机
  8. python绘图函数m_python绘图数据m
  9. xp共享计算机,XP怎么设置局域网共享?
  10. 设计灵感|排版太死板?提高品质的角度很重要
  11. cmake cache变量_反复研究好几遍,我才发现关于 CMake 变量还可以这样理解!
  12. 约瑟夫(环)问题(Josephus problem)
  13. TCP协议与IP协议
  14. spj查询零件、工程、供应商表
  15. PCRP21-100-1-SSI-KAB5M VOITH
  16. java 解析der文件_java-如何读取也用bouncycastle在DER中编码的PK...
  17. Codeforces Round #361 (Div. 2) C 二分
  18. 利用trie Tree 解决查找连续子字符串的问题
  19. 【论文】医疗大数据方面的资料
  20. ffmpeg 的那些坑

热门文章

  1. 今天,我们考大学是为了什么?
  2. 提高电脑反应速度_如何组装一台4000元左右的台式电脑?
  3. [读后感] 20170630 产品经理米衙的感悟
  4. 使用GDAL构造OpenCV的图像格式
  5. linux系统怎么ping命令,Linux系统下的ping命令的使用
  6. 数据结构线性表的三个属性
  7. Spark编写UDF函数案例
  8. Kerberos的基本命令操作
  9. mysql二进制日志的开启和使用
  10. 计算机上怎么带源地址ping,怎么带源地址去ping服务器