PAT-L1-020. 帅到没朋友
来源:互联网 发布:泰国4g网络制式 编辑:程序博客网 时间:2024/06/06 17:09
并查集···
比赛时紧张···脑抽 没写出来···
不过15分的题····他们说不用并查集也能AC···
好吧···
我的思路:查询该点ID时判断 他的前驱结点Par[ID}是否为其本身并且他的孩子数为1(初始化本人为该ID的一个孩子)
那么可以判断 他没有朋友圈或者他是个自恋狂(朋友圈只有他一人)····
#include<cstdio>#include<cstring>#include<vector>#include<iostream>using namespace std;const int Size = 100000;int Par[Size];int Visited[Size];int Child[Size];int Get_Par(int a){ if( Par[a]!=a ) return Par[a]=Get_Par(Par[a]); return Par[a];}void Merge(int a,int b){ int ParA=Get_Par(a); int ParB=Get_Par(b); Par[ParA]=ParB; Child[ParB]+=Child[ParA]; //cout<<a<<"'s father is "<<Get_Par(a)<<" "<<b<<"'s father is"<<Get_Par(b)<<endl;}int main(){ int N;int k;int T; int ID; cin>>N; for(int i=0; i<Size; i++){ Par[i]=i; Child[i]=1; } memset(Visited,0,sizeof(Visited)); //memset(Child,0,sizeof(Child)); while(N--){ cin>>k; cin>>T;k--; while(k--){ cin>>ID; Merge(T,ID); } //cout<<T<<"'s child is "<<Child[T]<<endl; //cout<<ID<<"'s child is "<<Child[ID]<<endl; } int M; cin>>M; vector<int>Vec; while(M--){ cin>>T; int ParT=Get_Par(T); if(!Visited[T]){ Visited[T]=1; if(ParT==T&&Child[T]==1){ Vec.push_back(T); } } } if(Vec.size()){ for(int i=0; i<Vec.size(); i++){ if(i) printf(" %05d",Vec[i]); else printf("%05d",Vec[i]); } } else cout<<"No one is handsome"<<endl;}
0 0
- PAT-L1-020. 帅到没朋友
- PAT L1-020. 帅到没朋友
- pat:L1-020. 帅到没朋友
- L1-020. 帅到没朋友(PAT)
- [PAT][GPLT][CCCC]L1-020.帅到没朋友
- PAT - L1-020. 帅到没朋友(裸并查集)
- L1-020. 帅到没朋友-PAT团体程序设计天梯赛GPLT
- PAT L1-020. 帅到没朋友 集合set瞎搞
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- L1-020. 帅到没朋友
- Iterator接口用法
- MFC hook注入dll,远程线程注入dll
- COGS 619 传话 解题报告
- 个人开发总结(1)-ios创建对象
- C++第七次实验——函数复习
- PAT-L1-020. 帅到没朋友
- Chrome浏览器导入Burp Suite证书
- OJ题 1019 逆输出
- 4. 使用别的json解析框架【从零开始学Spring Boot】
- CentOS 6.6 下源码编译安装MySQL 5.7.5
- 手机开发实战61——TCP/IP协议简介
- 56. Merge Intervals
- 调用系统下载安装apk
- Python--基础学习--流程控制