题目  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. 文档根元素 "mapper" 必须匹配 DOCTYPE 根 "configuration"

    该问题是因为xml的头部写错了,一个是configuration,一个是mapper,不能直接复制. 参考链接:http://blog.csdn.net/testcs_dn/article/detai ...

  2. 利用js代码:document.forms[0].approval.value='false',当点击 <input type="image"按钮向表单传递不同的参数。

    <form action="flow_myTaskList"> <input type="hidden" name="approva ...

  3. word2vec_文本相似度

    #提取关键词#关键词向量化#相似度计算 from jieba import analyseimport numpyimport gensim # 实现给出任意字符串,获取字符串中某字符的位置以及出现的 ...

  4. 9款原型设计工具与Sketch的强强组合,轻松构建交互原型!

    原型设计的发展历史经历了纸上原型.静态线框设计.到现在的可交互式原型.作为设计过程中最初始的阶段,设计师们对原型设计的要求也越来越高.因此,如今的原型设计工具格局也发生了很大的变化. Sketch对于 ...

  5. Java SE EE ME用处

    Java SE: 又称J2SE,开发部署桌面应用程序: Java EE:又称J2EE,开发网站 Java ME:是做手机APP开发 EE在SE基础上构建,提供web服务.组件模型.管理和通信API

  6. 解决maven update project 后项目jdk变成1.5的问题

    一.问题描述 在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5. 二.原因分析 ...

  7. oracle导出expdp导入impdp

    conn sys/password as sysdba;创建用户test1CREATE USER test1 IDENTIFIED BY "pass1";GRANT CONNECT ...

  8. 【Linux】CentOS 7.4 安装 MySQL 8.0.12 解压版

    安装环境/工具 1.Linux(CentOS 7.4版) 2.mysql-8.0.12-el7-x86_64.tar.gz 安装步骤 参考:https://dev.mysql.com/doc/refm ...

  9. CRC在线计算工具

    http://www.lammertbies.nl/comm/info/crc-calculation.html

  10. 20155312 2006-2007-2 《Java程序设计》第六周学习总结

    20155312 2006-2007-2 <Java程序设计>第六周学习总结 课堂笔记 学习进程 周一看视频-2h 周二以代码为中心看书-3h 课后选择题-5h 教材指导 应试 Linux ...