字节跳动第一题(第四题差不多)
#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;
}
#字节跳动##笔试题目#
科大讯飞公司氛围 474人发布