`

poj 2021

 
阅读更多

 

题意:Ted今年100岁,给出n对他家族的关系:“父亲名,孩子名,生孩子时父亲年龄”,求出家族所有人现在的岁数。

思路:基础题,可以用bfs做。要注意排序输出时,当年龄相同,要按姓名的字典顺序输出。

代码如下:

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int Max = 105;

struct data
{
    int age;
    char name[20];
}node[Max];

bool cmp(data &a, data &b)
{
    if(a.age > b.age) 
		return true;
    if(a.age == b.age && strcmp(a.name, b.name) < 0) 
		return true;   //  字典序排序。 
    return false;
}

int main()
{
    char fa[Max][20], ch[Max][20];
    int textCase, t, n, k, i, j, year[Max];
    cin >> textCase;
    node[0].age = 100;
    strcpy(node[0].name, "Ted");
    for(t = 1; t <= textCase; t++)
	{
        cin >> n;
        for(i = 1; i <= n; i ++)
            cin >> fa[i] >> ch[i] >> year[i];
        for(i = 0, k = 1; i < n; i ++)
            for(j = 1; j <= n; j ++)
                if(strcmp(node[i].name, fa[j]) == 0)
				{
                    node[k].age = node[i].age - year[j];
                    strcpy(node[k].name, ch[j]);
                    k ++;
                }
				sort(node, node+n+1, cmp);
				cout << "DATASET " << t << endl;
				for(i = 1; i <= n; i ++)
					cout << node[i].name << ' ' << node[i].age << endl;
    }
    return 0;
}

 

分享到:
评论

相关推荐

    poj题目代码

    8. poj_2021.c - "Fence":这道题目可能与几何和动态规划有关,要求在一定的条件下找到最佳围栏布局。 9. poj_1182.c - "Prime String":涉及素数判断和字符串处理,是基础数学与字符串算法的结合。 10. poj_1744....

    samcat2021#ZXBlog#POJ - 2136. VerticalHistogram(统计字母个数)1

    POJ - 2136. VerticalHistogram(统计字母个数)题目链接题目就是给你四行字符串,然后要你统计大写字母(只有大写字母)的个数,然后以特定

    强大POJ分类,新手进阶用

    此外,还有一些题目需要解决实际问题,如1595Prime Cuts探讨优化切割问题,1920Ride to School可能需要模拟路线规划,2021Relative Relatives可能涉及到图的遍历和关系推理。这些题目体现了算法在解决现实问题中的...

    北大POJ题目分类,归纳等等的呢个

    【北大POJ题目分类】是北京大学在线编程平台POJ(Problem Set for PKU)上的一个问题归纳整理,旨在帮助初学者更好地理解和掌握不同类型的算法与编程技巧。这些题目涵盖了从基础到高级的各种问题,有助于系统性地...

    poj pku 解题报告

    1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1011 1012 1013 1014 ...2021 2027 2033 2044 2051 2081 2084 2104 2109 2112 2135 2136 2137 2153 2155 2181 2182 2184 2185 2186 2187 2188 2190 2192 2195 2228 ...

    poj题目分类

    题目编号如1182、1656、2021等,图论是研究图的性质和结构的一门学科,图由顶点和边组成,可以用来模拟网络、交通系统、社交关系等现实世界中的问题。图论中的基本概念有邻接矩阵、邻接表、连通性、最短路径、最小...

    OJ系统汇总-2021-10-5.pdf

    OJ系统汇总-2021-10-5.pdf 本文将对OJ系统汇总-2021-10-5.pdf的标题、描述、标签和部分内容进行详细的解读和分析,并生成相关的知识点。 1. 标题:OJ系统汇总-2021-10-5.pdf 标题直接指出该文件是关于OJ系统的汇总...

    北大ACM 题目分类

    数据结构是算法设计的基础,POJ平台上提供了大量涉及数据结构的题目,如1182号题和2021号题,这些题目旨在帮助学生掌握不同类型的数据结构及其操作方法。更复杂的题目,如1145号题和1177号题,则要求参赛者具备更高...

    第5章 单调队列优化动态规划(2021.08.23).pdf

    单调队列优化动态规划广泛应用于解决滑动窗口问题,例如POJ 2823 Sliding Window、P1886 滑动窗口等。这些问题都可以使用单调队列优化动态规划来解决。 实现方法 单调队列优化动态规划的实现方法可以分为以下几步...

    信奥+数学+物理等资料集(552-562).rar

    6. "史上最全poj题目分类(159页).pdf" 和 "POJ算法题目分类B(2021.06.21).pdf":POJ(Problemset Online Judge)是一个在线编程练习系统,这些文档可能是POJ题目的分类集合,帮助学生有针对性地练习和提高编程解决...

    PoJamas-开源

    PoJamas旨在提供Python和Java api以及用于加载,处理和生成与SmithMicro(电子边界)Poser角色动画应用程序兼容的.cr2,pz3(crz,pzz)文件的工具。...自2021年起,该项目为Wavefront文件(pypos3dv)提出了3D查看器

    OJ系统汇总-2021-10-5(B).pdf

    4. POJ系统:POJ是北京大学在线评测系统的缩写,提供了一个在线编程和评测平台,供选手在线编程和评测。 5. 洛谷系统:洛谷是一个在线评测系统,提供了一个在线编程和评测平台,供选手在线编程和评测。洛谷支持四个...

    NOI数学(2021.09.28)B--69页.pdf

    在编程竞赛如Timus、Ural、POJ等平台上,有许多与原根和指数原根相关的题目,通过解决这些问题,可以深入理解和熟练运用这些数论概念。例如,题目要求找到一个数的原根,或者使用原根解决模幂运算等问题。 **总结**...

    第5章 单调队列优化动态规划(2021.08.19).pdf

    - **POJ2823 Sliding Window**:该问题给出一个序列和一个窗口大小k,需要计算在每个位置时,窗口内的最大值或最小值。可以使用单调队列优化将时间复杂度从O(nk)降低至O(n)。 - **最大连续和**:这是一个经典的动态...

    OJ系统汇总-2021-10-6(C)-32页.pdf

    * Poj(北大OJ):是北京大学计算机科学与技术学院开发的OJ系统,提供了大量的算法和数据结构的题目。 * 洛谷:是一个面向零基础的OJ系统,提供了大量的算法和数据结构的题目。 * Ahah添柴:是一个面向零基础的OJ...

    信奥+数学+物理等资料集(550-561).rar

    7. "558、史上最全poj题目分类(159页).pdf":POJ是编程在线判题系统的简称,这份资料很可能包含了丰富的编程题目的分类和解析,对于提高算法和编程能力非常有帮助。 8. "555、中国新世纪四大工程介绍.pdf":可能...

Global site tag (gtag.js) - Google Analytics