第六届蓝桥杯决赛B组C/C++——关联账户

标题:关联账户

为增大反腐力度,某地警方专门支队,对若干银行账户展开调查。如果两个账户间发生过转账,则认为有关联。如果a,b间有关联, b,c间有关联,则认为a,c间也有关联。对于调查范围内的n个账户(编号0到n-1),警方已知道m条因转账引起的直接关联。

现在希望知道任意给定的两个账户,求出它们间是否有关联。有关联的输出1,没有关联输出0

小明给出了如下的解决方案:

#include <stdio.h>
#define N 100

int connected(int* m, int p, int q)
{
	return m[p]==m[q]? 1 : 0;
}

void link(int* m, int p, int q)
{
	int i;
	if(connected(m,p,q)) return;
	int pID = m[p];
	int qID = m[q];
	for(i=0; i<N; i++) _____________________________________;  //填空位置
}

int main()
{
	int m[N];
	int i;
	for(i=0; i<N; i++) m[i] = i; //初始状态,每个节点自成一个连通域
	link(m,0,1); //添加两个账户间的转账关联
	link(m,1,2); 
	link(m,3,4); 
	link(m,5,6); 
	link(m,6,7); 
	link(m,8,9); 
	link(m,3,7); 
	
	printf("%d ", connected(m,4,7));
	printf("%d ", connected(m,4,5));
	printf("%d ", connected(m,7,9));
	printf("%d ", connected(m,9,2));
	return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链入门

第十六课 不用编程,如何把长文章记录到以太坊区块链上?

【本文目标】 通过本文学习,以太坊学习者可以把中文长文章记录到区块链上,不会被删除。

1025
来自专栏极客编程

JavaScript实现简单区块链

用JavaScript来实现一个简单的区块链。通过实现过程,你将理解区块链是什么:区块链就是一个分布式数据库,存储结构是一个不断增长的链表,链表中包含着许多有序...

1401
来自专栏圆方圆学院精选

【许晓笛】开发第一个 EOS 智能合约

稍微了解 EOS 系统,你就会知道 EOS 的智能合约基于 WebAssembly(WASM) 技术,这种技术在性能和跨平台兼容性之间取得了很好的平衡,通过将原...

1084
来自专栏区块链大本营

@程序员,如何淋漓尽致地敲出Solidity安全代码?

区块链技术的发展要与安全挂钩,齐头并进,让迅速的发展约束在可靠的范围之内,才能真正让新科技稳步推广,深入人心。

741
来自专栏博岩Java大讲堂

支付--出款中如何计费

出款系统来说: 付款方就是出款的源头(通常为商户),收款方就是收钱的那一方(通常为个人)

761
来自专栏区块链大本营

以太坊再爆高危漏洞!黑客增发ATN 1100万枚token事件始末

事情发生在5月中旬,ATN技术人员发现Token合约由于存在漏洞受到攻击。不过ATN基金会随后透露,将销毁1100万个ATN,并恢复ATN总量,同时将在主链上线...

491
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–资产会计(162)-5 ABAVN 资产处置

4.4 资产处置 固定资产清理是指从资产组合中移除某项资产或部分资产。复杂固定资产(或部分复杂固定资产)的移除是从帐面上将其作为资产清理过帐。 在中国资产会计中...

3858
来自专栏区块链大本营

80%开发者都不知道的以太坊骚操作:「事件」和「日志」还可以这么玩!

1653
来自专栏区块链入门

【 链安科技】constructor函数使用漏洞

2018年7月12日,成都链安科技(LianAn Technology)智能合约审计小组使用自主研发的VaaS平台对以太坊链上智能合约进行安全审计的过程中,发现...

933
来自专栏FreeBuf

空手套白狼?USDT 假充值逻辑缺陷漏洞利用分析

6月28日,慢雾科技发布了一条针对 USDT 的预警和漏洞分析,提醒各大交易所尽快暂停 USDT 充值功能,并自查代码是否存在该逻辑缺陷。全文如下:

3323

扫码关注云+社区