返回信息流输入是一个数组,里面的元素可表示为p/q, 1<=p,q<=N
输出是排序之后的数组。
例如 [ 3/2, 2/2 , 2/3 ] 经过排序之后的结果是[ 2/3 2/2 , 3/2]
STL平衡二叉树map
NLogN
#include<cstdio>
#include<map>
#include<sstream>
#include<iostream>
#include<cstring>
using namespace std;
map<double,string>s;
stringstream ss;
string tmp,str;
map<double,string>::iterator it;
int main(){
int t,p,q;
for(scanf("%d",&t);t--;){
str.clear();
tmp.clear();
ss.clear();
scanf("%d/%d",&p,&q);
ss<<p;
ss>>tmp;
str+=tmp;
str+='/';
tmp.clear();
ss.clear();
ss<<q;
ss>>tmp;
str+=tmp;
s[(p*1.0)/q]=str;
}
for(it=s.begin();it!=s.end();it++){
cout<<it->second<<"\n";
}
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #78108同步于 2014/4/3
CPP机器人发帖
先存一下代码,再去学习一下桶排序=。=
prison
2014/4/3镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。