题解报告:hdu 1263 水果
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263
#include<bits/stdc++.h>
using namespace std;
struct node
{
char fruit[];//水果名称
char area[];//产地名称
int num;//交易次数
}c[];
bool cmp(node x,node y)//排序规则
{
if(strcmp(x.area,y.area)<)return true;//产地先从小到大排序
if(strcmp(x.area,y.area)== && strcmp(x.fruit,y.fruit)<)return true;//如果产地相同,则按照字典将水果排序
return false;//否则返回假
}
int main()
{
int N,M;
cin>>N;
while(N--){ //测试数据组数
cin>>M;
getchar(); //吃掉回车符
for(int i=;i<M;i++)//M次交易
cin>>c[i].fruit>>c[i].area>>c[i].num;
sort(c,c+M,cmp);//按规则排序
for(int i=;i<M;i++){
if(strcmp(c[i].area,c[i+].area)==){//如果当前产地与下一个产地相同
if(strcmp(c[i].fruit,c[i+].fruit)==){//且水果名称相同
c[i+].num+=c[i].num;//则将水果数目进行相加
c[i].num=;//将原来的水果数目清空
}
}
else{//如果不同
cout<<c[i].area<<endl;//不同就先输出产地
for(int j=;j<M;j++){//依次再进行比较
if(strcmp(c[i].area,c[j].area)== && c[j].num)//找到一个num是不为0的,即该产地某种水果的总数
cout<<" |----"<<c[j].fruit<<'('<<c[j].num<<')'<<endl;//输出最后的水果数
}
}
}
if(N!=)cout<<endl;//案例之间输出空行
}
return ;
}
下面是string版本:
#include<bits/stdc++.h>
using namespace std;
struct node
{
string fruit;//水果名称
string area;//产地名称
int num;//交易次数
}c[];
bool cmp(node x,node y)//排序规则
{
if(x.area!=y.area)return x.area<y.area;//产地先从小到大排序
return x.fruit<y.fruit;//如果产地相同,水果按字典排序
}
int main()
{
int N,M;
cin>>N;
while(N--){ //测试数据组数
cin>>M;
getchar(); //吃掉回车符
for(int i=;i<M;i++)//M次交易
cin>>c[i].fruit>>c[i].area>>c[i].num;
sort(c,c+M,cmp);//按规则排序
for(int i=;i<M;i++){
if(c[i].area==c[i+].area){//如果当前产地与下一个产地相同
if(c[i].fruit==c[i+].fruit){//且水果名称相同
c[i+].num+=c[i].num;//则将水果数目进行相加
c[i].num=;//将原来相同水果的数目清空
}
}
else{//如果不同
cout<<c[i].area<<endl;//不同就先输出产地
for(int j=;j<M;j++){//依次再进行比较
if((c[i].area==c[j].area) && c[j].num)//找到此时水果的最后一个计数num是不为0的,即为该产地某种水果的总数
cout<<" |----"<<c[j].fruit<<'('<<c[j].num<<')'<<endl;//输出最后的水果数
}
}
}
if(N!=)cout<<endl;//案例之间输出空行
}
return ;
}
题解报告:hdu 1263 水果的更多相关文章
- hdu 1263 水果 【二维map】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263 题目大意: Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~ ...
- HDU 1263 水果 结构体排序
解题报告:一个结构体排序的题,用了一个运算符重载,要注意的是不同的地方可能会产相同的水果,一开始没注意. #include<cstdio> #include<cstring> ...
- hdu 1263 水果
Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样J ...
- HDU 1263(水果统计 **)
题意是对水果的产地和种类进行统计再按格式输出. 代码如下: #include <bits/stdc++.h> using namespace std; struct node { ],pl ...
- hdu 1263 水果 结构的排序+sort自定义排序
水果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- hdu 1263 水果 (嵌套 map)
水果Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...
- HDU 1263 水果 (STL map)
水果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- STL || HDU 1263 水果
map可以映射map…… 然后在map里面会自己排序 惊了 注意输出格式 回车的输出 #include <iostream> #include <cstdio> #includ ...
- 题解报告:hdu 1398 Square Coins(母函数或dp)
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
随机推荐
- 电脑控制手机的另一选择——android vnc server
近来发现的Android上的原生VNC Server,就是说只要手机上安装并运行这个软件,即可实现电脑上查看并控制手机了. 首先是手机端. 1)下载androidvncserver: http://c ...
- 【Scrapy】Selectors
Constructing selectors For convenience,response objects exposes a selector on .selector attribute,it ...
- php monolog 的写日志到unix domain socket 测试终于成功
在另外一个客户端执行 php s.php后, 通过nc -lU /tmp/tg.sck 建立的unix domain socket 有接收到消息. <?php require 'vendor/a ...
- 多硬盘分区管理fdisk
原文:http://blog.fens.me/linux-fdisk/ ---------------------------------------------------------------- ...
- Codeforces 104C Cthulhu dfs暴力 || 点双连通缩点
题目链接:点击打开链接 题意: 给定n个点m条边的无向图 问图中是否存在 有且仅有一个简单环和一些树,且这些树的root都在这个简单环上. 瞎写了个点双. . == #include <stdi ...
- react-grid-layout
一个好用的拖拽.自适应布局 react 插件 基本使用: // 显示全部 chart 内容区域 import React,{PureComponent} from 'react'; import {R ...
- asp.net mvc + javascript生成下载文件
近期做的是对现有项目进行重构.WEB FROM改成MVC,其实也算是推倒重来了. 里面有一个导出功能,将数据输出成txt文件,供下载.原先的做法是有一个隐藏的iframe,在这个iframe的页面中设 ...
- 加载之ready和onload
页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页面包含图片等文件在内的所有元素都加载完成. 真不知道这个标题该怎么取,暂时就先凑 ...
- golang中获取字符串长度的几种方法
一.获取字符串长度的几种方法 - 使用 bytes.Count() 统计 - 使用 strings.Count() 统计 - 将字符串转换为 []rune 后调用 len 函数进行统计 ...
- HTTP传输二进制初探
[转]HTTP传输二进制初探 http://www.51testing.com/?uid-390472-action-viewspace-itemid-233993 [转]HTTP传输二进制初探 上一 ...