HDU 1263 水果 结构体排序
解题报告:一个结构体排序的题,用了一个运算符重载,要注意的是不同的地方可能会产相同的水果,一开始没注意。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
struct node {
char f_name[],loc_name[];
int n;
friend bool operator < (node a,node b) {
int len1 = strlen(a.loc_name);
int len2 = strlen(b.loc_name);
int M = max(len1,len2),i = ;
while(i < M) {
if(a.loc_name[i] != b.loc_name[i])
return a.loc_name[i] < b.loc_name[i];
i++;
}
len1 = strlen(a.f_name);
len2 = strlen(b.f_name);
M = max(len1,len2),i = ;
while(i < M) {
if(a.f_name[i] != b.f_name[i])
return a.f_name[i] < b.f_name[i];
i++;
}
return ;
}
};
int main() {
int T,N,flag = ;
scanf("%d",&T);
while(T--) {
node M[];
if(flag)
puts("");
flag = ;
scanf("%d",&N);
M[].f_name[] = M[].loc_name[] = M[N+].f_name[] = M[N+].loc_name[] = NULL;
M[].n = M[N+].n = ;
for(int i = ;i <= N;++i)
scanf("%s%s%d",M[i].f_name,M[i].loc_name,&M[i].n);
sort(M+,M+N+);
for(int i = ;i <= N;++i) {
if(strcmp(M[i].loc_name,M[i-].loc_name))
printf("%s\n",M[i].loc_name);
if(strcmp(M[i].loc_name,M[i+].loc_name) || strcmp(M[i].f_name,M[i+].f_name))
printf(" |----%s(%d)\n",M[i].f_name,M[i].n);
else M[i+].n += M[i].n;
}
}
return ;
}
HDU 1263 水果 结构体排序的更多相关文章
- hdu 1263 水果 结构的排序+sort自定义排序
水果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- hdu1263 水果(结构体排序)
Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样J ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...
- 【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...
- 网上关于sort结构体排序都不完整,我来写一个完整版的 2014-08-09 16:50 60人阅读 评论(0) 收藏
主要参考sort函数_百度文库, 但是那篇有错误 2.结构体排序,a升,b降,c降 平板视图 打印? 01 #include <iostream> 02 #include <algo ...
- <algorithm>里的sort函数对结构体排序
题目描述 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好.现有一堆杂乱的机房签到.签离记录,请根据记录找出当天开门和关门的人. 输入描述: 每天的记录在第一行给出记录的条目数M (M &g ...
- JustOj 2039: 成绩排名 (结构体排序)
题目描述 每次期末考试成绩出来之前的一段时间大豪哥心里都是痛苦的,总感觉自己会在班上排名特别差.所以当成绩出来以后大豪哥想快点知道班上的总排名,以便知道自己的排名.(PS:大豪哥班上有个学霸名叫日天, ...
- (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)
/* * POJ_2092.cpp * * Created on: 2013年11月1日 * Author: Administrator */ #include <iostream> #i ...
随机推荐
- 关于Actions和Robot的区别简单说明
Actions和Robot都是可以用来模拟键盘操作,但是两者还是有区别的 Actions actions =new Actions(driver) 实例化一个Actions后,我们可以使用action ...
- Android事件分派机制
最近一直在学习Android里面的事件分派机制,感觉很奇妙,看了很多博客和分析,才在脑子里形成了一个模糊的概念,对事件分派有了一定的认识. 于是,我画了一个图来简单明了的表述Android中事件的分派 ...
- 第216天:Angular---自定义指令(二)
自定义指令 1.第一个参数是指令的名字,第二个参数任然应该使用一个数组,数组的最后一个元素是一个函数.定义指令的名字,应该使用驼峰命名法 <!DOCTYPE html> <html ...
- python自动化之图像
''' RGBA值:指定颜色中的红.绿.蓝和alpha(透明度)的值 RGBA 名称 (255,255,255,2 ...
- STL 算法介绍
STL 算法介绍 算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成. <algorithm ...
- 在 Linux服务器中安装 Python 3.6
一.服务器环境配置 在 CentOS 7 中安装 Python 之前,请确保系统中已经有了所有必要的开发依赖: # yum -y groupinstall development # yum -y i ...
- Alpha 冲刺 —— 十分之十
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试整体软件 展示GitHub当 ...
- 2:spring中的@resource
@Resource 其实是spring里面的注解注入. @Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定, 如果没有指定name属性,当注解写在字段 ...
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令
转至:http://www.jb51.net/LINUXjishu/43356.html 说明:Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令 ...
- js正则取出一个字符串小括号中的内容
var aa="ldfjsldfj(dsfasjfj3124123)"; var result = aa.match(/\(([^)]*)\)/); // 此时result=[&q ...