zoukankan      html  css  js  c++  java
  • HDU 1263 水果

    转载请注明出处:http://blog.csdn.net/a1dark

    分析:一道二级排序的模拟题、排序也没啥说的、就那样吧

    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    #include<string.h>
    #include<string>
    using namespace std;
    struct node{
    	string name;
    	string place;
    	int num;
    }fruit[200];
    bool cmp(node a,node b){
    	if(a.place<b.place)
    		return true;
    	else if(a.place==b.place){
    		if(a.name<b.name)
    			return true;
    	}
    	return false;
    }
    int main(){
    	int t,t1,n,i,j,flag;
    	scanf("%d",&t);
    	t1=t;
    	while(t--){
    		if(t!=t1-1)
    			printf("
    ");
    		scanf("%d",&n);
    		for(i=0;i<n;i++)
    			cin>>fruit[i].name>>fruit[i].place>>fruit[i].num;
    		sort(fruit,fruit+n,cmp);
    	flag=0;
    	for(i=0;i<n;i++){		
    		for(j=0;j<i;j++){
    			if(fruit[i].name==fruit[j].name&&fruit[i].place==fruit[j].place){
    				fruit[j].num+=fruit[i].num;
    				flag++;break;
    			}
    		}
    	}
    	cout<<fruit[0].place<<endl;
    	cout<<"   |----"<<fruit[0].name<<"("<<fruit[0].num<<")"<<endl;
    	for(i=1;i<n;i++){
    		if(fruit[i].name==fruit[i-1].name&&fruit[i].place==fruit[i-1].place)
    			continue;
    		if(fruit[i].place==fruit[i-1].place){
    			cout<<"   |----"<<fruit[i].name<<"("<<fruit[i].num<<")"<<endl;
    		}
    		else{
    			cout<<fruit[i].place<<endl;
    			cout<<"   |----"<<fruit[i].name<<"("<<fruit[i].num<<")"<<endl;
    		}
    	}
    	}
    	return 0;
    }


  • 相关阅读:
    Python进阶03 模块
    Python进阶02 文本文件的输入输出
    Python进阶01 词典
    Python基础10 反过头来看看
    Python基础09 面向对象的进一步拓展
    Python基础08 面向对象的基本概念
    Python基础07 函数
    Vuex源码分析(转)
    Vue2.x双向数据绑定
    Angular2的双向数据绑定
  • 原文地址:https://www.cnblogs.com/pangblog/p/3301783.html
Copyright © 2011-2022 走看看