题解报告: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 ...
随机推荐
- Find Minimum in Rotated Sorted Array 旋转数组中找最小值 @LeetCode
O(n)的算法就不说了,这题主要考查的是 O(logn)的算法. 有序数组easy想到使用二分查找解决.这题就是在二分基础上做一些调整.数组仅仅有一次翻转,能够知道原有序递增数组被分成两部分,这俩部分 ...
- webservice0基础
在学习webservice的时候,常常将ns和url花了好久时间才理解过来,这里备份下. 首先定义接口: @WebService public interface IService { @WebRes ...
- hdoj 2046 骨牌铺方格 【DP】+【斐波那契】
dp果然不是好学的... 第n个,即2*n时,可由第n-1个的竖直排列再加一个,和第n-2个中横着排两个 所以f(n) = 1×f(n-1) + 1×f(n-2): 骨牌铺方格 Time Limit: ...
- SGU - 186 - The Chain (贪心)
186. The Chain time limit per test: 0.25 sec. memory limit per test: 4096 KB input: standard input o ...
- sysinfo 系统调用
在分析luci时,看到 usr/lib/luci/sys.lua 里调用 nixio.sysinfo().这是一个c调用lua的用例.在nixio的代码process.c里导出了给lua调用的接口.在 ...
- 原生js 平滑滚动到页面的某个位置
window.scrollTo() 语法1: window.scrollTo(x-coord,y-coord) x-coord 是文档中的横轴坐标. y-coord 是文档中的纵轴坐标. 例子: w ...
- react 中的 PureComponent
React.PureComponent最重要的一个用处就是优化React应用,因为它减少了应用中的渲染次数,所以对性能的提升是非常可观的. 原理:在普通的 componnet 组件中,shouldCo ...
- JNI/NDK开发指南(2)
1.生成动态库.so,存放于手机的system/lib/中(APP怎样将.so存入该文件夹,奇怪?????),Java层调用JNI的类会运行静态代码System.loadLibrary("* ...
- ABAP ALV F4帮助
ALV F4帮助, 选值保存到ALV. TYPE-POOLS:slis. CLASS lcl_event_receiver DEFINITION DEFERRED. DATA: gt_fcat TYP ...
- C#6.0 新功能
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...