南邮 OJ 1115 路径图排序 【绿色】
来源:互联网 发布:js正则数字和字母 编辑:程序博客网 时间:2024/05/28 09:33
路径图排序 【绿色】
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 198 测试通过 : 23
总提交 : 198 测试通过 : 23
比赛描述
南邮野生物基金会(NUPT-WF)的志愿者近期去南京老山国家森林公园,寻找住在森林附近濒临灭绝的动物。NUPT-WF志愿者得到一份老山国家森林公园地图,该森林公园包括许多空地,和连接空地的路径。不同种濒危动物住在每条路径上,没有动物住在空地上。
NUPT-WF希望从森林公园找到一些濒危动物。但是它们的路径图太过混乱,因为空地和动物未按特定序列给出。现请你帮助NUPT-WF志愿者给南京老山国家森林公园的路径图排序。
输入
动物以单词表示,空地用数字表示,最多有500个空地。
空地0总是森林公园的入口。输入为未分类的森林公园的路径图。
每一行描述两个空地之间的路径,表示为一对数字和住在路径上的一列动物。
输出
输出为一个排序后的路径图,空地数字从0开始增长,动物名从a到z排序。路径由路径任一端的空地号进行排序。所有住在路径上的动物依字母顺序排序。
样例输入
1 0 puma lynx
2 0 puma
1 2 vole
样例输出
0 1 lynx puma
0 2 puma
1 2 vole
题目来源
“IBM南邮杯”团队赛2009
#include<iostream>#include<string>#include<sstream>#include<set>using namespace std;struct path{int i,j;set<string> animals;};bool operator<(const path& p1,const path& p2){if(p1.i != p2.i)return p1.i<p2.i;elsereturn p1.j<p2.j;}int main(){path aPath;stringstream ss;string s;set<path> pathes;set<path>::iterator p_it;set<string>::iterator s_it;while(cin>>aPath.i>>aPath.j && getline(cin,s)){if(aPath.i>aPath.j)swap(aPath.i,aPath.j);ss.clear();ss.str(s);aPath.animals.clear();while(ss>>s){aPath.animals.insert(s);}pathes.insert(aPath);}for(p_it=pathes.begin();p_it!=pathes.end();++p_it){cout<<p_it->i<<" "<<p_it->j;for(s_it=p_it->animals.begin();s_it!=p_it->animals.end();++s_it){cout<<" "<<*s_it;}cout<<endl;}return 0;}
0 0
- 南邮 OJ 1115 路径图排序 【绿色】
- NOJ1115路径图排序 【绿色】——较难
- 南邮 OJ 1023 字符串排序
- 南邮 OJ 1024 01排序
- 南邮 OJ 1064 快速排序
- 南邮 OJ 1066 堆排序
- 南邮 OJ 1110 奇数排序
- 南邮 OJ 1181 字符排序
- 南邮 OJ 1736 排序问题
- 南邮 OJ 1061 简单选择排序
- 南邮 OJ 1062 直接插入排序
- 南邮 OJ 1683 股价排序问题
- 南邮 OJ 1949 比赛成绩排序问题
- 绿色
- AHU-OJ 187 图的最短路径
- UVa OJ 152 排序?
- 华为OJ:分段排序
- hdu-oj 1106 排序
- Android 圆弧形进度条 自定义View
- pdf用什么软件打开
- Android 圆弧形进度条 自定义View
- 栈的实现 - C++
- Android 圆弧形进度条 自定义View
- 南邮 OJ 1115 路径图排序 【绿色】
- MVVM(一)
- Recerse linked list by block
- Android 圆弧形进度条 自定义View
- Android 圆弧形进度条 自定义View
- 轻松java学习之路5
- Android 圆弧形进度条 自定义View
- Nginx+fastcgi 部署Django项目
- eclipse无法连接手机解决方法