题解报告: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 ...
随机推荐
- HUNT:一款可提升漏洞扫描能力的BurpSuite漏洞扫描插件
今天给大家介绍的是一款BurpSuite插件,这款插件名叫HUNT.它不仅可以识别指定漏洞类型的常见攻击参数,而且还可以在BurpSuite中组织测试方法. HUNT Scanner(hunt_sca ...
- [Javascript] Link to Other Objects through the JavaScript Prototype Chain
Objects have the ability to use data and methods that other objects contain, as long as it lives on ...
- 九度OJ1004 Median
题目描写叙述: Given an increasing sequence S of N integers, the median is the number at the middle positio ...
- vue - 官方 - 上手
Vue和其它框架一样,有用CDN或本地JavaScript框架,国内我推荐 bootstrap cdn. 为什么很多人选择CDN呢? CDN:内容分发网络(不同区域不同服务器,更快),减少本地服务器压 ...
- Android反复闹钟(每天)的实现
MainActivity例如以下: package cc.cc; import java.util.Calendar; import java.util.Locale; import android. ...
- ASP.NET MVC中为DropDownListFor设置选中项的方法
在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中.本篇只整理思路,不涉及完整代码. □ 思路 往前台视图传的类型是List< ...
- 总结文件操作函数(二)-C语言
格式化读写: #include <stdio.h> int printf(const char *format, ...); //相当于fprintf( ...
- 20170111 ABAP技术小结(全半角转换)
DATA: it_po LIKE it_alv OCCURS 0 WITH HEADER LINE.************************************************** ...
- CRM 插件奇怪的报错
CRM插件,数据库方式注册.报错 找不到方法:“Void Microsoft.Xrm.Sdk.Entity..ctor(System.String, System.Guid)”. 这个错误让人摸不着头 ...
- Js_闭包详解
http://blog.csdn.net/chenglc1612/article/details/53413318 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变 ...