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

#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;
}

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

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务