poj 2021 Relative Relatives(暴力)
题目链接:http://poj.org/problem?id=2021
思路分析:由于数据较小,采用O(N^2)的暴力算法,算出所有后代的年龄,再排序输出。
代码分析:
- #include <iostream>
- #include <string.h>
- #include <algorithm>
- using namespace std;
- #define MAX_N ( 100 + 10 )
- typedef struct Descendant
- {
- char Name[];
- int Age;
- }Desd;
- char Father[MAX_N][];
- char Child[MAX_N][];
- int Age[MAX_N];
- Desd Descen[MAX_N];
- int Cmp( Desd a, Desd b );
- int main()
- {
- int n, Count;
- Count = ;
- strcpy( Descen[].Name, "Ted" );
- Descen[].Age = ;
- scanf( "%d", &n );
- for ( int i = ; i < n; ++i )
- {
- int Num, Index_Father, EndDescen;
- Index_Father = EndDescen = ;
- Count++;
- scanf( "%d\n", &Num );
- for ( int j = ; j < Num; ++j )
- scanf( "%s %s %d", Father[j], Child[j], &Age[j] );
- while ( Index_Father < Num )
- {
- for ( int m = ; m < Num; ++m )
- {
- if ( strcmp( Descen[Index_Father].Name, Father[m] ) == )
- {
- EndDescen++;
- strcpy( Descen[EndDescen].Name, Child[m] );
- Descen[EndDescen].Age = Descen[Index_Father].Age - Age[m];
- }
- }
- Index_Father++;
- }
- sort( Descen, Descen + Num + , Cmp );
- printf( "DATASET %d\n", Count );
- for ( int n = ; n <= Num; ++n )
- printf( "%s %d\n", Descen[n].Name, Descen[n].Age );
- }
- return ;
- }
- int Cmp( Desd a, Desd b )
- {
- if ( a.Age == b.Age )
- return strcmp( a.Name, b.Name ) < ;
- else
- return a.Age > b.Age;
- }
poj 2021 Relative Relatives(暴力)的更多相关文章
- POJ 2021 Relative Relatives
Relative Relatives Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3339 Accepted: 146 ...
- POJ 2021 Relative Relatives(map+树的遍历)
题意: 今天是Ted的100岁生日.凑巧的是,他家族里面每个人都跟他同一天生日,但是年份不同. 现在只给出一些 父亲的名字,孩子的名字,以及孩子出生时父亲的年龄, 要求将Ted以外的家族成员按年龄降序 ...
- poj 3714 Raid【(暴力+剪枝) || (分治法+剪枝)】
题目: http://poj.org/problem?id=3714 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27048#prob ...
- POJ 3522 Slim Span 暴力枚举 + 并查集
http://poj.org/problem?id=3522 一开始做这个题的时候,以为复杂度最多是O(m)左右,然后一直不会.最后居然用了一个近似O(m^2)的62ms过了. 一开始想到排序,然后扫 ...
- poj 2585 Window Pains 暴力枚举排列
题意: 在4*4的格子中有9个窗体,窗体会覆盖它之下的窗体,问是否存在一个窗体放置的顺序使得最后的结果与输入同样. 分析: 在数据规模较小且不须要剪枝的情况下能够暴力(思路清晰代码简单),暴力一般分为 ...
- POJ 1012 Joseph 推导,暴力,约瑟夫环,打表 难度:2
http://poj.org/problem?id=1012 答案以954ms飘过,不过这道题可以轻松用打表过 思路:如果我们把每个人位于数组中的原始编号记为绝对编号,每次循环过后相对于绝对编号为0的 ...
- POJ - 3279(枚举+暴力)
Fliptile Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 14297 Accepted: 5257 Descrip ...
- POJ 2896 另解暴力
就是简单的用strstr函数对字符串进行处理. 另解:暴力(就是用strstr函数对字符串进行处理)另解:暴力(普通的字符串处理 .关键是strstr函数): #include<stdio.h& ...
- POJ 2407:Relatives(欧拉函数模板)
Relatives AC代码 Relatives Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16186 Accept ...
随机推荐
- system.io.file创建
在实际开发中,如果用的文件名不能确定位置.或名字.可以使用GUID类来命名函数.Guid 结构标识全局唯一标示符.其NewGuid结构可以初始化一个新历.该方法语法格式如下: public stati ...
- HTML5API___manifest
离线缓存 manifest 在html标签里面增加个属性 mainfest 就可以告诉浏览器缓存文件在哪里. <html manifest='show.manifest' xmlns=" ...
- sql server中关于批处理与脚本的简单介绍
1.批处理 批处理指的是包含一条或多条T-SQL语句的语句组,这组语句从应用程序一次性地发送到SQL Server服务器执行.SQL Server服务器将批处理语句编译成一个可执行单元(即执行计划), ...
- ExtJs004define定义类
Ext.onReady(function () { //在Ext中如何去定义一个类: Ext.define(className , properties , callback) Ext.define( ...
- jira使用
JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件.这里的"问题"对应的英文单词是Issue,所以含义比较广, ...
- 我们在 web 应用开发过程中经常遇到输出某种编码的字 符, 如 iso8859-1 等, 如何输出一个某种编码的字符串?
public String translate (String str) { String tempStr = ""; try { tempStr = new String(str ...
- ACM比赛
Description A soldier wants to buy w bananas in the shop. He has to pay k dollars for the first bana ...
- AeroSpike 记录
1.基本概念: namespace:类似关系型数据库中的schema,这个需要在配置文件中配置,可以指定存储引擎.存储大小.备份数.存活时间等 set:类似关系型数据库中的表 record:类似关系型 ...
- 【转】20个令人敬畏的jQuery插件
为网页设计师和开发推荐20个令人敬畏的jQuery插件.例如滑块,图像画廊,幻灯片插件,jQuery的导航菜单,jQuery文件上传,图像旋转器,标签的插件,用户界面元素,网络接触形式,模态窗口, ...
- Python 城市菜单详解(超详解)
print("--------城市查询系统---------") print("--------按数值进行查询--------") menu={" ...