简单题。

先建树,我用邻接表来存了。然后对于每个叶子结点DFS一下,DFS深度超过了K就return,找到了叶子节点就记录下来,最后排个序,然后输出答案。

由于结点编号比较奇葩,所以用两个map来转换一下。这个代码写的很丑,大半夜写的,迷迷糊糊。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<string>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std; char s[];
map<int, int>zh;
map<int, int>ff;
vector<int>ljb[];
int flag[], rr[];
int ls, K, ye;
int u[], k[];
struct ANS
{
int A, B, C;
}ans[ + ];
int gh = ; bool cmp(const ANS&a, const ANS&b)
{
if (a.A == b.A&&a.B == b.B) return a.C<b.C;
if (a.A == b.A) return ff[a.B]<ff[b.B];
return ff[a.A]<ff[b.A];
}
void DFS(int now, int b)
{
if (b>K) return;
int i;
if (flag[now] == && now != ye)
{
ans[gh].A = ye;
ans[gh].B = now;
ans[gh].C = b;
gh++;
return;
}
for (i = ; i<ljb[now].size(); i++)
{
if (rr[ljb[now][i]] == )
{
rr[ljb[now][i]] = ;
DFS(ljb[now][i], b + );
}
} }
int main()
{
int n, i, j, o;
while (~scanf("%d", &K))
{
scanf("%d", &n);
zh.clear(); ff.clear();
memset(flag, , sizeof(flag));
int p = , tot; gh = ;
zh[] = p;
ff[p] = ;
p++;
for (i = ; i<; i++) ljb[i].clear();
for (o = ; o<n; o++)
{
scanf("%d %s", &k[o], s);
ls = ;
if (zh[k[o]] == ) zh[k[o]] = p, ff[p] = k[o], p++;
flag[zh[k[o]]] = ;
int len = strlen(s);
j = ; tot = ;
for (i = ; i <= len; i++)
{
if (s[i] == ',' || s[i] == '\0')
{
if (zh[ls] == ) zh[ls] = p,ff[p] = ls,p++;
u[tot] = zh[ls], tot++, ls = ;
}
else ls = ls * + s[i] - '';
}
ljb[].push_back(u[]);
ljb[u[]].push_back();
for (i = ; i<tot; i++)
{
ljb[u[i - ]].push_back(u[i]);
ljb[u[i]].push_back(u[i - ]);
}
ljb[u[tot - ]].push_back(zh[k[o]]);
ljb[zh[k[o]]].push_back(u[tot - ]);
}
for (i = ; i<n; i++)
{
ye = zh[k[i]];
memset(rr, , sizeof(rr));
rr[ye] = ;
DFS(ye, );
}
sort(ans, ans + gh, cmp);
for (i = ; i<gh; i++)
{
cout << ff[ans[i].A];
cout << " ";
cout << ff[ans[i].B];
cout << " ";
cout << ans[i].C;
cout << endl;
}
}
return ;
}

ACdream 1728 SJY's First Task的更多相关文章

  1. ACdream 1195 Sudoku Checker (数独)

    Sudoku Checker Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Submit ...

  2. Concepts:Request 和 Task

    当SQL Server Engine 接收到Session发出的Request时,SQL Server OS将Request和Task绑定,并为Task分配一个Workder.在TSQL Query执 ...

  3. .Net多线程编程—任务Task

    1 System.Threading.Tasks.Task简介 一个Task表示一个异步操作,Task的创建和执行是独立的. 只读属性: 返回值 名称 说明 object AsyncState 表示在 ...

  4. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  5. windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...

  6. Openstack Periodic Task

    Openstack Periodic Task 周期性任务在各个模块的manager.py(computer,scheduler,cell,network)中添加. 添加方法:在模块manager类实 ...

  7. MapReduce剖析笔记之三:Job的Map/Reduce Task初始化

    上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...

  8. [Java定时器]用Spring Task实现一个简单的定时器.

    今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...

  9. 定时管理器框架-Task.MainForm

    入住博客园4年多了,一直都是看别人的博客,学习别人的知识,为各个默默无私贡献自己技术总结的朋友们顶一个:这几天突然觉得是时候加入该队列中,贡献出自己微弱的力量,努力做到每个月有不同学习总结,知识学习的 ...

随机推荐

  1. Ueditor1.4.3实现跨域上传到独立文件服务器,完美解决单文件和多文件上传!

    再写配置方法之前先吐槽一下网上的各种教程,TM没一个有卵用,一群傻屌不会写就别写,写了就要负责. 百度google搜了半天,全是配置什么document.domain,根域名什么的,我只想对你说: 好 ...

  2. 程序员快围观!2016年最受欢迎中国开源软件TOP 20

    [PConline 资讯]开源软件对程序员来说是一个经常接触的软件,作为一个经常接触的软件,当然想知道自己用的软件受欢迎程度,基于此,开源中国在近日公布"2016年度最受欢迎中国开源软件评选 ...

  3. 曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑

    今天使用SQLCMD导入到SQL SERVER数据库中,看着数据文件都成功执行,但是意外发现有一个文件数据没有成功导入,但执行不报错,很容易导致问题被忽略. 使用存在问题的文件做下测试,从界面上看几行 ...

  4. 使用百度富文本编辑器UEditor碰到的问题

    前面使用的是kindEditor,但是发现这个已经不再维护,并且bug不少,而我又不会改,哈哈,所以我就放弃了. 原来想过要用百度的这个UEditor,但是在配置的时候遇到了很多问题,基本上加载不出来 ...

  5. ps 如何裁切图片成一定的长宽高比例

    1打开一张图片然后点击拆件工具然后在面板上长宽高,按enter键盘,OK拆建完成

  6. 安装MySQL -- SuSE Linux Enterprise Server 11 SP3

    1.准备工作从MySQL官网上分别下载mysql服务器端于客户端包: MySQL-server-5.5.49-1.sles11.x86.rpm MySQL-client-5.5.49-1.sles11 ...

  7. android 控件自定义样式

    一.按钮(Button) 方式1.存在.9图片或图片时   可在drawable文件夹下新建xml文件style_button_one.xml,代码如下 <?xml version=" ...

  8. QTREE - Query on a tree

    QTREE - Query on a tree 题目链接:http://www.spoj.com/problems/QTREE/ 参考博客:http://blog.sina.com.cn/s/blog ...

  9. css基础和心得(三)

    OK!接下来我们分别说这些元素的意义.首先,什么是块级元素?在html中<div>,<p>,<h1>,<form>,<ul>和<li& ...

  10. openstack私有云布署实践【10.2 计算nova - controller节点配置(办公网环境)】

    一.首先登录controller1创建nova数据库,并赋于远程和本地访问的权限.     mysql -u root -p   CREATE DATABASE nova; GRANT ALL PRI ...