题目链接:http://poj.org/problem?id=2021

思路分析:由于数据较小,采用O(N^2)的暴力算法,算出所有后代的年龄,再排序输出。

代码分析:

  1. #include <iostream>
  2. #include <string.h>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6. #define MAX_N ( 100 + 10 )
  7.  
  8. typedef struct Descendant
  9. {
  10. char Name[];
  11. int Age;
  12. }Desd;
  13.  
  14. char Father[MAX_N][];
  15. char Child[MAX_N][];
  16. int Age[MAX_N];
  17. Desd Descen[MAX_N];
  18. int Cmp( Desd a, Desd b );
  19.  
  20. int main()
  21. {
  22. int n, Count;
  23.  
  24. Count = ;
  25. strcpy( Descen[].Name, "Ted" );
  26. Descen[].Age = ;
  27.  
  28. scanf( "%d", &n );
  29. for ( int i = ; i < n; ++i )
  30. {
  31. int Num, Index_Father, EndDescen;
  32.  
  33. Index_Father = EndDescen = ;
  34. Count++;
  35.  
  36. scanf( "%d\n", &Num );
  37. for ( int j = ; j < Num; ++j )
  38. scanf( "%s %s %d", Father[j], Child[j], &Age[j] );
  39.  
  40. while ( Index_Father < Num )
  41. {
  42. for ( int m = ; m < Num; ++m )
  43. {
  44. if ( strcmp( Descen[Index_Father].Name, Father[m] ) == )
  45. {
  46. EndDescen++;
  47. strcpy( Descen[EndDescen].Name, Child[m] );
  48. Descen[EndDescen].Age = Descen[Index_Father].Age - Age[m];
  49. }
  50. }
  51. Index_Father++;
  52. }
  53.  
  54. sort( Descen, Descen + Num + , Cmp );
  55.  
  56. printf( "DATASET %d\n", Count );
  57. for ( int n = ; n <= Num; ++n )
  58. printf( "%s %d\n", Descen[n].Name, Descen[n].Age );
  59. }
  60.  
  61. return ;
  62. }
  63.  
  64. int Cmp( Desd a, Desd b )
  65. {
  66. if ( a.Age == b.Age )
  67. return strcmp( a.Name, b.Name ) < ;
  68. else
  69. return a.Age > b.Age;
  70. }

poj 2021 Relative Relatives(暴力)的更多相关文章

  1. POJ 2021 Relative Relatives

    Relative Relatives Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3339   Accepted: 146 ...

  2. POJ 2021 Relative Relatives(map+树的遍历)

    题意: 今天是Ted的100岁生日.凑巧的是,他家族里面每个人都跟他同一天生日,但是年份不同. 现在只给出一些 父亲的名字,孩子的名字,以及孩子出生时父亲的年龄, 要求将Ted以外的家族成员按年龄降序 ...

  3. poj 3714 Raid【(暴力+剪枝) || (分治法+剪枝)】

    题目:  http://poj.org/problem?id=3714 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27048#prob ...

  4. POJ 3522 Slim Span 暴力枚举 + 并查集

    http://poj.org/problem?id=3522 一开始做这个题的时候,以为复杂度最多是O(m)左右,然后一直不会.最后居然用了一个近似O(m^2)的62ms过了. 一开始想到排序,然后扫 ...

  5. poj 2585 Window Pains 暴力枚举排列

    题意: 在4*4的格子中有9个窗体,窗体会覆盖它之下的窗体,问是否存在一个窗体放置的顺序使得最后的结果与输入同样. 分析: 在数据规模较小且不须要剪枝的情况下能够暴力(思路清晰代码简单),暴力一般分为 ...

  6. POJ 1012 Joseph 推导,暴力,约瑟夫环,打表 难度:2

    http://poj.org/problem?id=1012 答案以954ms飘过,不过这道题可以轻松用打表过 思路:如果我们把每个人位于数组中的原始编号记为绝对编号,每次循环过后相对于绝对编号为0的 ...

  7. POJ - 3279(枚举+暴力)

    Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14297   Accepted: 5257 Descrip ...

  8. POJ 2896 另解暴力

    就是简单的用strstr函数对字符串进行处理. 另解:暴力(就是用strstr函数对字符串进行处理)另解:暴力(普通的字符串处理 .关键是strstr函数): #include<stdio.h& ...

  9. POJ 2407:Relatives(欧拉函数模板)

    Relatives AC代码 Relatives Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16186   Accept ...

随机推荐

  1. system.io.file创建

    在实际开发中,如果用的文件名不能确定位置.或名字.可以使用GUID类来命名函数.Guid 结构标识全局唯一标示符.其NewGuid结构可以初始化一个新历.该方法语法格式如下: public stati ...

  2. HTML5API___manifest

    离线缓存 manifest 在html标签里面增加个属性 mainfest 就可以告诉浏览器缓存文件在哪里. <html manifest='show.manifest' xmlns=" ...

  3. sql server中关于批处理与脚本的简单介绍

    1.批处理 批处理指的是包含一条或多条T-SQL语句的语句组,这组语句从应用程序一次性地发送到SQL Server服务器执行.SQL Server服务器将批处理语句编译成一个可执行单元(即执行计划), ...

  4. ExtJs004define定义类

    Ext.onReady(function () { //在Ext中如何去定义一个类: Ext.define(className , properties , callback) Ext.define( ...

  5. jira使用

    JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件.这里的"问题"对应的英文单词是Issue,所以含义比较广, ...

  6. 我们在 web 应用开发过程中经常遇到输出某种编码的字 符, 如 iso8859-1 等, 如何输出一个某种编码的字符串?

    public String translate (String str) { String tempStr = ""; try { tempStr = new String(str ...

  7. ACM比赛

    Description A soldier wants to buy w bananas in the shop. He has to pay k dollars for the first bana ...

  8. AeroSpike 记录

    1.基本概念: namespace:类似关系型数据库中的schema,这个需要在配置文件中配置,可以指定存储引擎.存储大小.备份数.存活时间等 set:类似关系型数据库中的表 record:类似关系型 ...

  9. 【转】20个令人敬畏的jQuery插件

    为网页设计师和开发推荐20个令人敬畏的jQuery插件.例如滑块,图像画廊,幻灯片插件,jQuery的导航菜单,jQuery文件上传,图像旋转器,标签的插件,用户界面​​元素,网络接触形式,模态窗口, ...

  10. Python 城市菜单详解(超详解)

      print("--------城市查询系统---------") print("--------按数值进行查询--------") menu={" ...