团体程序设计天梯赛 L2-024. 部落

原创 2018年04月16日 00:04:10

L2-024. 部落

时间限制
120 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越

在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。

输入格式:

输入在第一行给出一个正整数N(<= 104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:

K P[1] P[2] ... P[K]

其中K是小圈子里的人数,P[i](i=1, .., K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会超过104

之后一行给出一个非负整数Q(<= 104),是查询次数。随后Q行,每行给出一对被查询的人的编号。

输出格式:

首先在一行中输出这个社区的总人数、以及互不相交的部落的个数。随后对每一次查询,如果他们属于同一个部落,则在一行中输出“Y”,否则输出“N”。

输入样例:
4
3 10 1 2
2 3 4
4 1 5 7 8
3 9 6 4
2
10 5
3 7
输出样例:
10 2
Y
N
#include<iostream>
#include<set>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;

vector<int>  v(10002);

int find(int n)
{
  if(v[n]==n)
    return n;
  v[n]=find(v[n]);
  return v[n];
}

int main()
{
  set<int> s1;
  set<int> s2;
  for(int i=0;i<v.size();i++)
  {
    v[i]=i;
  }
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
  {
    int k;
    cin>>k;
    vector<int> line(k);
    for(int i=0;i<k;i++)
    {
      cin>>line[i];
      s1.insert(line[i]);
    }
    int mark=find(line[0]);
    for(int i=1;i<k;i++)
    {
      if(line[i]!=v[line[i]])
      {
        v[find(line[i])]=mark;
      }
      else
        v[line[i]]=mark;
    }
  }
  set<int>::iterator iter;
  for(iter=s1.begin();iter!=s1.end();iter++)
  {
    find(*iter);
    s2.insert(v[*iter]);
  }
  cout<<s1.size()<<" "<<s2.size()<<endl;
  int q;
  cin>>q;
  for(int i=0;i<q;i++)
  {
    int d1,d2;
    cin>>d1>>d2;
    if(find(d1)==find(d2))
    {
      cout<<"Y"<<endl;
    }
    else
    {
      cout<<"N"<<endl;
    }
  }
  return 0;
}

团体程序设计天梯赛L2-024 部落

L2-024. 部落 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 ...
  • Jelly_acm
  • Jelly_acm
  • 2017-04-18 11:31:21
  • 1044

天梯赛L2-024部落

L2-024. 部落 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 ...
  • Soul_97
  • Soul_97
  • 2018-03-13 23:19:04
  • 58

记第一次参加团体程序设计天梯赛

我记得是两周之前3月10日,学校临时决定要参加这个cccc团体程序设计天梯赛,我们的选拔考试就是做去年的预赛题,当时整个周末都在做,没有学过c++,只能用c写,数据结构算法什么都不懂,写了两天也就做了...
  • github_36788573
  • github_36788573
  • 2017-03-25 20:48:23
  • 908

2018年团体程序设计天梯赛总结

努力是不会骗人的,如果说努力了还没被看到,只能说明你努力的还不够! 2018.3.31 天梯赛。 从3月17日的天梯赛选拔开始,到3月31日正式的天梯赛,期间共进行了四场选拔赛,四场训练赛,一场模...
  • l1832876815
  • l1832876815
  • 2018-04-09 19:00:47
  • 143

PAT 2018团体程序设计天梯赛 2018我们要赢

2018年天梯赛的注册邀请码是“2018wmyy”,意思就是“2018我们要赢”。本题就请你用汉语拼音输出这句话。输入格式:本题没有输入。输出格式:在第一行中输出:“2018”;第二行中输出:“wo3...
  • Adusts
  • Adusts
  • 2018-04-01 21:57:07
  • 127

第二届团体程序设计天梯赛区域赛

第二届中国高校计算机大赛团体程序设计天梯赛区域赛3月25日下午在全国6个大赛区24个分赛点举行。我有幸代表参加了东北赛区(吉林大学)华山论剑组的比赛。作为大一的萌新能代表学校参加区域赛已经万分荣幸。 ...
  • csnewbie666
  • csnewbie666
  • 2017-03-30 00:28:27
  • 381

2018年团体程序设计天梯赛-模拟赛

L1-8 外星人的一天(15 point(s))地球上的一天是 24 小时。但地球上还有一些精力和勤奋度都远超一般人的大神级人物,他们的“一天”是以 48 小时为周期运转的,这种人被人们尊称为“外星人...
  • dreamjay1997
  • dreamjay1997
  • 2018-03-25 19:42:12
  • 151

2017年团体程序设计天梯赛-大区赛总结!

2017年团体程序设计天梯赛-大区赛    不管任何比赛,赛后都应该写总结,平时比赛做的也不算少吧,写下来的很少,基本赛后脑袋总结一下不足之处,写下来的一般是印象比较深的。    这场比赛从报名到结...
  • NYIST_TC_LYQ
  • NYIST_TC_LYQ
  • 2017-03-26 00:49:34
  • 1313

2017年团体程序设计天梯赛-大区赛小结

不知道说些什么,今年的天梯赛,比去年要凶残的多啊,这个鬼一样的分区,华东区的论剑真的是变态,甚至比好几个珠峰的赛区还凶残。 弱校华东区第8,全赛区第9,凄凉,给华东区的大佬跪了。今年看来是无缘决赛了...
  • jtjy568805874
  • jtjy568805874
  • 2017-03-26 23:40:26
  • 1509

团体程序设计天梯赛-练习集 L1

团体程序设计天梯赛-练习集 今天做了L1中%4==0||%4==1的题目 题目如下 L1-001 Hello World L1-004 计算摄氏温度 L1-005 考试座位号 L1-008 求整数段...
  • Vole23
  • Vole23
  • 2016-07-12 00:10:08
  • 857
收藏助手
不良信息举报
您举报文章:团体程序设计天梯赛 L2-024. 部落
举报原因:
原因补充:

(最多只允许输入30个字)