字节跳动第一题(第四题差不多)

#include<stdio.h>
#include<string>
#include<iostream>
#include<set>
#include<vector>
#include<string.h>
#include<algorithm>
#include<string>
#include<math.h>
#include<map>
using namespace std;

vector<set<int>>arr;
set<int> book; 

void check_arr(int a, int b)
{
	int i,j;
	if(arr.size()==0)
	{
		set<int> temp ;
		temp.insert(b);
		temp.insert(a);

		book.insert(b);
		book.insert(a);

		arr.push_back(temp);
		return ;
	}
	for(i=0;i<arr.size();i++)
	{
		if(arr[i].find(a)!= arr[i].end())
		{
			arr[i].insert(b);
			book.insert(b);
			return ;
		}
		if(arr[i].find(b)!= arr[i].end())
		{
			arr[i].insert(a);
			book.insert(a);
			return ;
		}
	}
	set<int> temp ;
	temp.insert(b);
	temp.insert(a);

	book.insert(b);
	book.insert(a);

	arr.push_back(temp);
}

int main()
{

	int n;
	cin>>n;
	int a[210][210]={0};
	int i,j;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			cin>>a[i][j];
			if(i==j)
				a[i][j] = 1;
			else
				a[i][j] -= 2;
		}
	}
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(a[i][j]>0)
				check_arr(i,j);
		}
	}
	int res = n - book.size() +arr.size();
	cout<< res;

	return 0;
}

#字节跳动##笔试题目#
全部评论

相关推荐

07-23 11:37
延安大学 C++
绷不住了,晚上十点发拒信,是还在加班吗这样一想挂了好像也没什么不好
码农索隆:这个都是真人发嘛,会用到机器人定时发嘛
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务