• [1218] You are my brother

  • 时间限制: 1000 ms 内存限制: 131072 K
  • 问题描述
  • Little A gets to know a new friend, Little B, recently. One day, they realize that they are family 500 years ago. Now, Little A wants to know whether Little B is his elder, younger or brother.
  • 输入
  • There are multiple test cases.
    For each test case, the first line has a single integer, n (n<=1000). The next n lines have two integers a and b (1<=a,b<=2000) each, indicating b is the father of a. One person has exactly one father, of course. Little A is numbered 1 and Little B is numbered 2.
    Proceed to the end of file.
  • 输出
  • For each test case, if Little B is Little A’s younger, print “You are my younger”. Otherwise, if Little B is Little A’s elder, print “You are my elder”. Otherwise, print “You are my brother”. The output for each test case occupied exactly one line.
  • 样例输入
  • 5
    1 3
    2 4
    3 5
    4 6
    5 6
    6
    1 3
    2 4
    3 5
    4 6
    5 7
    6 7
    
  • 样例输出
  • You are my elder
    You are my brother
  • 提示
  • 来源
  • 辽宁省赛2010
    题目意思很简单,输入N对数a,b,表示b是a的父亲,最后求的是1和2的关系,也就是树的深度。(注意,若a和b不在同一棵树上,则他们的关系为brother)
    代码一:
    #include <cstring>
    #include <cstdio>
    int main() {int n,x,y;int ans[2005];while(~scanf("%d",&n)) {memset(ans,0,sizeof(ans));for(int i=0; i<n; i++) {scanf("%d%d",&x,&y);ans[x]=y;}int temp=1,a=0,b=0;while(ans[temp]){a++;temp=ans[temp];}temp=2;while(ans[temp]!=0) {b++;temp=ans[temp];}if(a>b)printf("You are my elder\n");else if(a<b)printf("You are my younger\n");elseprintf("You are my brother\n");}return 0;
    }

    代码二:

    #include <cstdio>
    using namespace std;
    int main() {int n,x,y;int la,lb,a,b;while(~scanf("%d",&n)) {la=1;   lb=2;    a=0;    b=0;while(n--){scanf("%d%d",&x,&y);if(la!=lb) {if(x==la) {la=y;   a++;}if(x==lb) {lb=y;   b++;}}}if(a>b)printf("You are my elder\n");else if(a<b)printf("You are my younger\n");elseprintf("You are my brother\n");}return 0;
    }
    

    代码三:
    #include <cstdio>
    int fa[2010];
    int n,x,y;
    int Find(int x,int &H) {while(x != fa[x]) {x = fa[x];H++;}return x;
    }
    int main() {while(~scanf("%d",&n)) {for(int i = 1; i <= 2000; i++)      //用并查集时,初始化要注意上限,如果用n会TLEfa[i] = i;while(n--) {scanf("%d %d",&x,&y);fa[x] = y;}int a = 0 , b = 0 ;int f1 = Find( 1 , a );int f2 = Find( 2 , b );if(f1 != f2)                  //此时 1 和 2 并不在同一棵树上printf("You are my brother\n");else {if(a > b)printf("You are my elder\n");else if(a < b)printf("You are my younger\n");elseprintf("You are my brother\n");}}return 0;
    }
    

    以上代码 有一部分是根据网上题解思路所写的,据说这题还可以用 DFS+线段树来做,只是目前还没搞懂,等待更新……

NBUT 1218 You are my brother相关推荐

  1. 阿里云nginx服务器多站点的配置

    Fighting! 欲戴皇冠,必承其重! 目录视图 摘要视图 订阅 [活动]Python创意编程活动开始啦!!!    CSDN日报20170426 --<四无年轻人如何逆袭>    [C ...

  2. NBUT 1457 Sona(莫队算法+离散化)

    [1457] Sona 时间限制: 5000 ms 内存限制: 65535 K 问题描述 Sona, Maven of the Strings. Of cause, she can play the ...

  3. You are my brother

    You are my brother 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Little A gets to know a new friend, Little B, recen ...

  4. 浅析Avicii的MV Hey Brother

    date: 2017-04-10 20:30:19 其实这篇随感早应在一个月之前就写完的,但是笔者刚从老家来到北京,需要安顿各种事情,再加上自己比较懒上班比较忙,每天晚上回到家,都是直接趴在床上睡了. ...

  5. HNUSTOJ-1257 You are my brother

    1257: You are my brother 时间限制: 1 Sec  内存限制: 128 MB 提交: 39  解决: 15 [提交][状态][讨论版] 题目描述 Little A gets t ...

  6. mfc cstring 写入文件_兄弟Brother单色激光传真一体机MFC系列不能写入此文件夹提示解决方案...

    受影响机型,所有使用ControlCenter3软件的机型,WIN10系统,基本上都受影响.包括但不限于MFC-230.MFC-7340,MFC-7450等. 错误提示: 不能写入此文件夹 <M ...

  7. 计蒜客 28437.Big brother said the calculation-线段树+二分-当前第k个位置的数 ( ACM训练联盟周赛 M)...

    M. Big brother said the calculation 通过线段树维护. 这个题和杭电的一道题几乎就是一样的题目.HDU5649.DZY Loves Sorting 题意就是一个n的排 ...

  8. 信息学奥赛一本通(1218:取石子游戏)

    1218:取石子游戏 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 8837     通过数: 4144 [题目描述] 有两堆石子,两个人轮流去取.每次取的时候, ...

  9. 1218 图片对齐模式

    1218 图片对齐模式 行线 图片对齐模式 作用于img标签上

最新文章

  1. UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters in position: ordinal not in range(256)
  2. 关于 Oracle DB CONSTRAINT约束的一些SQL ORA-02292: integrity constraint violated
  3. gcc - lm的含义
  4. MSE | 阿里巴巴云原生网关三位一体的选择与实践
  5. iptables学习笔记
  6. Scala Array sum recursive call
  7. 【java】如何在IDEA 中查看 Class文件的汇编
  8. 用imspost制作catia后处理_为什么我推荐你用3D打印技术制造模具?
  9. 优先级反转之futex(一)
  10. 浅谈 wxWindows FrameWork
  11. 高等数学(第七版)同济大学 习题2-3 个人解答
  12. 北航计算机组成原理课程设计-2020秋 PreProject-Verilog HDL与ISE-ISE的获取和使用
  13. 模拟信号采样与AD转换
  14. PyG教程(2):图数据
  15. 读吴军博士新浪微博(2012.09-2014.12)信息整理
  16. M25F1 4G全网通终端的技术应用
  17. 登陆页面+匹配数据库+提示登陆成功或失败
  18. python小技巧:300行代码实现俄罗斯方块
  19. UI设计是什么,就业前景怎么样?
  20. WIN10 共享 访问WIN7提示 出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问

热门文章

  1. 常见编码介绍。一个字符在不同编码中分别占几个字节(新手向)
  2. 智能书包方案——智能书包重力测量模块CSM92F32
  3. 微信分享不显示右边缩略图
  4. [转]如何解决Windows图片预览窗口无法显示图片缩略图
  5. 少儿编程 | 探讨C++课程、MIT Scratch课程、python课程、Noi竞赛、蓝桥怎么引导?如何才能让小孩子飞的更高?附开发工具的下载与安装
  6. SVN检出报错,SVN更新时忽略指定文件或文件夹
  7. python 人民币兑美元汇率代码_Python获取美元人民币实时汇率
  8. (力扣)LeetCode19. 删除链表的倒数第 N 个结点(C++/C语言)
  9. excal怎么设置模板阈值
  10. 怎么恢复移动硬盘数据