博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 122 Trees on the level
阅读量:5813 次
发布时间:2019-06-18

本文共 1459 字,大约阅读时间需要 4 分钟。

题目的意思:

输入很多个节点,包括路径和数值,但是不一定这些全部可以构成一棵树,问题就是判断所给的能否构成一棵树,且没有多余。

网上其他大神已经给出了题目意思:比如我一直很喜欢的

说一声: 
之前看了网上好多代码,看的大段大段的,看不下去了,就准备自己写了,结果写出来也是大段大段的,其实中间有不少是被注释掉的测试代码,可忽略不计!
// 测试样例:udebug :
// 我整个代码最核心的整体思想就是把全部节点放到map中,
// 然后层级遍历到的就放到vector(V)中,并从map中删除(重点),最后如果map有剩余就认为not complete!

#include 
#include
#include
#include
#include
#include
#include
using namespace std;struct s{ string path; //节点路径 int value; //节点值};vector
v; //存放可输出的树的节点map
m; //存放树map
::iterator it,it1,it2;queue
q;//这个地方是重点,就是如何层级输遍历输出;//在网上看了一下,层级遍历可以用队列,对于每个在队列里面的pop之后,把他的左儿子和右儿子加到队列里(如果有)void levelordertravel(){ s temp; string t,t1,x,y; //如果连根都没有,直接返回了 it=m.find(""); if(it!=m.end()) q.push({it->first,it->second}); else return; while(!q.empty()){ temp=q.front(); //cout<
<
first,it1->second}); //cout<<"left son is in"<
first,it2->second}); //cout<<"rigth son is in"<
>str){ string path, value1; int value, p, length; if(str == "()") break; length = str.length(); p = str.find(','); //,的位置 value1 = str.substr(1,p-1); value = atoi(value1.c_str()); //这个地方把string转换成int path = str.substr(p+1,length-1-(p+1)); it=m.find(path); if(it!=m.end()) path="XXX"; m[path] = value; } return !cin.eof();}int main(){ while(input()){ //这里的输入,没有循环输入的话就会wronganswer 就因为这个问题花费了很久时间 //int len=m.size(); //for(it=m.begin();it!=m.end();it++) cout<
first<<" "<
second<

 

转载于:https://www.cnblogs.com/firstmiki/p/6127259.html

你可能感兴趣的文章
python调用windows api
查看>>
Linux内核中的printf实现【转】
查看>>
第四章 mybatis批量insert
查看>>
Dom4j生成xml
查看>>
rsync算法原理和工作流程分析
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
spring框架中的@Import注解
查看>>
How to set the initial value of a select element using AngularJS ng-options & track by
查看>>
feginclient和ribbon的重试策略
查看>>
从一次线上故障思考Java问题定位思路
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
第四届中国汽车产业信息化技术创新峰会将于6月在沪召开
查看>>
linux清除文件内容
查看>>
翻译 | 3种方式提升云可扩展性
查看>>
WindowManager.LayoutParams 详解
查看>>
在linux下挂载ntfs文件系统分区
查看>>
find的命令的使用和文件名的后缀
查看>>
ckeditor 键盘事件绑定
查看>>
Android的Aidl安装方法
查看>>