搭积木 c++ 赛码网

本博客介绍了一个关于积木拼接的问题,其中每块积木的两个接口必须有相同的数字标记才能拼接。通过C++编程,利用贪心算法来判断是否能将所有积木拼接成一个整体。博客提供了输入输出描述以及样例,帮助理解算法实现过程。
摘要由CSDN通过智能技术生成
  							 搭积木

时间限制: 3000MS 内存限制: 65536KB 题目描述:
一天,小明买了许多积木回家,他想把这些积木拼接在一起。每块积木有两个接口,每个接口我们用一个数字标记,规定只有当两块积木有相同数字标记的接口时,这两块积木才可以通过该接口拼接在一起。举例,有两块积木,接口数字分别为1,2和3,4,那么这两块积木无法拼接;若两块积木接口数字分别为1,2和2,3,那么这两块积木可以通过由数字2标记的接口拼接在一起。

现在小明知道所有积木的数量和每块积木接口的数字标记,你能告诉他他可以将所有积木拼接成一个整体么?

输入描述

第一行一个整数t,表示测试数组组数1≤t≤10;

接下来在每组测试数据中:

第一行一个整数n,表示积木的数量1≤n≤100000,

下面n行每行2个整数x,y,表示其中一块积木的两个接口的数字标记;1≤x,y≤100000;

输出描述

对于每组测试数据,输出”YES”,表示该组数据中的所有积木可以拼接成一个整体,”NO”表示不行。(注意输出不包括引号)

样例输入

2
3
1 2
2 3
4 5
6
1 2
2 3
3 5
4 5
4 6
5 1

样例输出

NO
YES
#include<bits/stdc++.h>
using namespace std;
class Solution{
   
public:
  bool operator()(ve
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值