题目  http://vjudge.net/contest/view.action?cid=51142#problem/G

自己做的结构体

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>

using namespace std;

struct Name
{
    char name[35];   ///输入之前的12个名字
    char check[35];   ///输入之后进行比较的名字
} str[105];

int main()
{
    int t,n,k;   ///t组测试数据  n个名字
    int num;   ///标记奖牌
    int each,total[105];  ///每队猜对的数  放到一个数组里
    char medal[35];
    for(int i=0; i<12; i++)
        cin>>str[i].name;

cin>>t;
    memset(total,0,sizeof(total));
    k=0;
    while(t--)
    {
        each=0;
        cin>>n;
        for(int j=0; j<n; j++)
        {
            cin>>str[j].check;
            gets(medal);
            int len=strlen(medal);
            if(medal[len-1]=='d')  ///金
                num=0;
            else if(medal[len-1]=='e')  ///铜
                num=1;
            else  if(medal[len-1]=='r')  ///银
                num=2;
            for(int i=0; i<12; i++)
            {
                if((strcmp(str[j].check,str[i].name)==0)&&(((i==0||i==1||i==2||i==3)&&num==0)||((i==4||i==5||i==6||i==7)&&num==2)||((i==8||i==9||i==10||i==11)&&num==1)))
                    each++;
            }
        }
        total[k]=each;
        k++;
    }
    int ss=1;
    sort(total,total+k);
    for(int i=0; i<k-1; i++)
    {
        if(total[i]==total[k-1])
        ss++;
    }
      cout<<ss*5<<endl;
    return 0;
}

map:

#include <iostream>
#include <stdio.h>
#include <map>
#include <string.h> using namespace std;
int p[105]; int main()
{
    string d;
    memset(p,0,sizeof(p));
    map<string,string>Map;
    for(int i=0;i<12;i++)
    {
        cin>>d;
        if(i>=0&&i<=3) Map[d]="gold";   ///我的理解哦  将字符串d覆盖成gold
        else if(i>=4&&i<=7)  Map[d]="silver";
        else  Map[d]="bronze";
    }
    int n,t;
    int maxx;maxx=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {         cin>>t;
        string a,b,c;
        for(int j=0;j<t;j++)
        {
            cin>>a>>b>>c;
            if(c==Map[a])  p[i]++;  ///如果覆盖后的a串等于c串  就++;
        }
        maxx=max(maxx,p[i]);
    }
    int sum=0;
    for(int i=0;i<n;i++)
    {
        if(maxx==p[i])
        sum++;
    }
    cout<<sum*5<<endl;
    return 0;
}

初次见识结构体与map的区别的更多相关文章

  1. C#中结构体和类的区别

    结构体和类同样能够定义字段,方法和构造函数,都能实例化对象,这样看来结构体和类的功能好像是一样的了,但是他们在数据的存储上是不一样的 C#结构体和类的区别问题:这两种数据类型的本质区别主要是各自指向的 ...

  2. C#中结构体与类的区别

    一.结构体和类非常相似 1,定义和使用非常相似,例子如下:public struct Student{    string Name;    int Age;}public class Questio ...

  3. [转]C#中的结构体与类的区别

    C#中的结构体与类的区别   经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字cla ...

  4. C#结构体和类的区别(转)

    结构体和类的区别:    在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同,虽 ...

  5. 结构体作为map的key或放入set中,需要重载<运算符

    结构体作为map的key或放入set中,需要重载<运算符,如下: typedef struct tagRoadKey{    int m_i32Type;    int m_i32Scale; ...

  6. GO学习-(38) Go语言结构体转map[string]interface{}的若干方法

    结构体转map[string]interface{}的若干方法 本文介绍了Go语言中将结构体转成map[string]interface{}时你需要了解的"坑",也有你需要知道的若 ...

  7. Swift基础语法(五)枚举、结构体与类的区别

    swift中的结构体值可以是整型.浮点型.字符串.字符.元祖,如果不赋值默认为整型且从0开始计数,如果为整型枚举且要求不是从0开始只需指定枚举的第一个值以后的值自动依次加1 引用方式也与oc有所出入 ...

  8. C#中的结构体与类的区别

    经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字str ...

  9. 【 转】 C/C++结构体和联合体的区别

    联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型 总结: 声明一个联合体: union abc { i ...

随机推荐

  1. Tomcat的目录结构及部署应用程序

    下载好的二进制的Tomcat,解压会看到7个目录,如下: bin 目录:Tomcat的脚本存放目录,如启动.关闭脚本等.其中 **.bat用于windows平台,**.sh用于Linux平台 conf ...

  2. urllib和requests库

    目录 1. Python3 使用urllib库请求网络 1.1 基于urllib库的GET请求 1.2 使用User-Agent伪装后请求网站 1.3 基于urllib库的POST请求,并用Cooki ...

  3. [转载]How To Install Nginx And PHP-FPM On CentOS 6 Via Yum

    http://www.lifelinux.com/how-to-install-nginx-and-php-fpm-on-centos-6-via-yum/ http://blog.csdn.net/ ...

  4. 【转】四、可空类型Nullable<T>到底是什么鬼

    [转]四.可空类型Nullable<T>到底是什么鬼 值类型为什么不可以为空 首先我们都知道引用类型默认值都是null,而值类型的默认值都有非null. 为什么引用类型可以为空?因为引用类 ...

  5. Windows-universal-samples学习笔记系列二:Controls, layout, and text

    Controls, layout, and text AutoSuggestBox migration Clipboard Commanding Context menu Context menu ( ...

  6. XAML中用一字符即可展示漂亮的图型

    XAML中用一字符即可展示漂亮的图型 例如:Symbol Icon: People http://www.geekchamp.com/icon-explorer/action-icons/icon?c ...

  7. 19 模块之shelve xml haslib configparser

    shelve 什么是shelve模块 也是一种序列化方式使用方法 1.opne 2.读写 3.close特点:使用方法比较简单 提供一个文件名字就可以开始读写 读写的方法和字典一致 你可以把它当成带有 ...

  8. linux_配置三台虚拟机免密登录

    在node01上面直接生成公钥和私钥 ssh-keygen --> 四下回车 ll -a 进行查看,发现出现.ssh文件即已经生成 将此node01的公钥拷贝到第二台机器上 ssh-copy-i ...

  9. rails 新建user的phonenumber字段

    1.新建字段 //rails g migration add_字段名_to_表名 字段名:字段类型 rails g migration add_title_to_contents title:stri ...

  10. GDBT

    理论知识: 第四范式自主研发算法GBDT(Gradient Boosting Decision Tree) GBDT是一种基分类器为决策树的集成学习方法.决策树是一种常见的机器学习算法,GBDT中使用 ...