uvalive 6957 Hyacinth 题目难理解

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

int main()
{
    int i,a,b,n,m[10000+5][2],p[10000+5],tot;
    while(~scanf("%d",&n))
    {
        memset(m,0,sizeof(m));
        memset(p,0,sizeof(p));
        tot=0;
        for(i=0;i<n-1;i++)
        {
            scanf("%d%d",&a,&b);
            if(p[a]<2&&p[b]<2)
            {
                m[a][p[a]]=m[b][p[b]]=++tot;
                p[a]++;
                p[b]++;
            }
            else if(p[a]==2)
            {
                m[b][p[b]]=m[a][1];
                p[b]++;
            }
            else if(p[b]==2)
            {
                m[a][p[a]]=m[b][1];
                p[a]++;
            }
        }
        for(i=1;i<=n;i++)
        {
            if(m[i][0]==0) m[i][0]=++tot;
            if(m[i][1]==0) m[i][1]=++tot;
        }
        for(i=1;i<=n;i++)
            printf("%d %d\n",m[i][0],m[i][1]);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

时间: 2024-10-12 00:55:19

uvalive 6957 Hyacinth 题目难理解的相关文章

UVALive 6957 Hyacinth(读题)

解题: 感觉自己读题能力太差,读了好几遍才读懂.题意是指每个节点有两个频率,而题目给出的边代表这两个节点联通,这两个节点联通,则他们必须有一个相同的频率,现求一方案可以使得联通边用的频率数最多.那么,就是能用新值就用新值,若某个节点两个频率都有了,则取其中一个,赋值给另外一个节点的一个频率即可.最后把,仍未填的频率,填一下就好. 代码: #include <iostream> #include <cstring> #include <cstdio> using name

hdu 1301 Jungle Roads 一个很水的题 AC率也可以知道了 但是题目很难理解啊 英语渣o(╯□╰)oKruskal算法

Jungle Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4725    Accepted Submission(s): 3471 Problem Description The Head Elder of the tropical island of Lagrishan has a problem. A burst o

网络传输的加密与解密(不是很难理解的一个版本)

--网络传输的加密与解密--    由于互联网早期并没有考虑到数据报文安全的问题,早期的理念都是基于进行通信的.现在随着网络兴起,互联网上慢慢有很多"犯罪团体",用较低的犯罪成本通常是基于一个网络通信协议的一个小的漏洞来完成窃取.篡改.重播其他人的数据报文. 而往往计算机网络安全维护者和那些恶意攻击者玩的就是一个类似猫鼠游戏,网络安全维护者处处考虑对计算机的安全负责,而恶意攻击者处处找安全的漏洞.而对于那些恶意攻击方式大体分两种. 一种叫被动攻击,大体上来说就是窃听,攻击者获得传输信息

Javascript之旅——第十站:为什么都说闭包难理解呢?

原文:Javascript之旅--第十站:为什么都说闭包难理解呢? 研究过js的朋友大多会说,理解了js的原型和闭包就可以了,然后又说这些都是js的高级内容,然后就又扯到了各种神马的作用域...然后不少 人就会被忽悠的云里雾里...下面我也试着来说说闭包,看我说的这个是否浅显易懂... 一:闭包含义 闭包是个专业词汇,这样才能显得在js中是高大上的货色,官方定义我这里就不敢修改它,定义如下:就是有权访问另一个函数作用域的变量的函数. 二:一个简单的场景 上面的定义大概也能看得懂,但是不知道为什么

今天的题目比较难理解。

(1)String to Integer (atoi) 解题思路: 实现atoi函数,将字符串转换成整型数.题目要求: 1. 首先需要丢弃字符串前面的空格:(trim函数) 2. 然后可能有正负号(注意只取一个,如果有多个正负号,那么说这个字符串是无法转换的,返回0.比如测试用例里就有个"+-2"): 3. 字符串可以包含0~9以外的字符,如果遇到非数字字符,那么只取该字符之前的部分,如"-00123a66"返回为"-123": 4. 如果超出i

例题:从下边一个成绩表做出三个题,题目比较难理解

33.查询成绩比该课程平均成绩低的同学的成绩表. select*from score a where DEGREE <(select avg(degree) from score b where a.cno=b.cno ) -查询每门课最高分学生之外的其他学生分数信息 select*from score a where DEGREE not in(select MAX(degree) from score b where a.cno=b.cno) a.cno=b.cno 这句代码的意思是在同一门

uva 6957 Hyacinth bfs

Hyacinth Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=133436 Description As a new employee at the Northwestern Europe Routing Company (NWERC), you do a lot of thinking about wireless networ

神奇的 SQL 之谓词 → 难理解的 EXISTS

前言 开心一刻 我要飞的更高,飞的更高,啊! 谓词 SQL 中的谓词指的是:返回值是逻辑值的函数.我们知道函数的返回值有可能是数字.字符串或者日期等等,但谓词的返回值全部是逻辑值(TRUE/FALSE/UNKNOW),谓词是一种特殊的函数.关于逻辑值,可以查看:神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL ! SQL 中的谓词有很多,如 =.>.<.<> 等,我们来看看 SQL 具体有哪些常用的谓词 比较谓词 创建表与初始化数据 -- 1.表创建并初始化数据 DROP

特重要又特难理解应用的——数组和集合

这一章的学习,在视频学习中,感觉已经快懵了,可以说是懵懂,知识点太多,应用繁杂,再结合上章尚未完全消化的if语句和循环利用,考验自己对于问题的逻辑思维能力.这一章的练习作业多,有一定的复杂程度,还未做完,自己心里清楚,如果不自己独立思考完成这些课后作业,就没法通过这一章的学习.尽管习题难,结合视频中的案例分析做法和补充的课外总结,还能勉强找到编程思路,争取明天完成这一章的练习作业,并能不看代码,完成视频教学中的案例编程,相信自己能行!!!