题目  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. Tag file

    JSP 2.0 引入 Tag file ,tag file 以 tag 或 tagx 为后缀,它们可以包含其他资源文件:一个被其他文件包含的 tag file 应该以 tagf 为后缀. 如同JSP页 ...

  2. jmeter脚本录制的两种方式

    完成一次完整的性能测试: 1.创建用户: 2.选择协议(HTTP) 3.使用工具去模拟协议操作(1.手工编写(抓包工具):2.工具自带录制) 4.运行工具进行压力测试

  3. python Trie树和双数组TRIE树的实现. 拥有3个功能:插入,删除,给前缀智能找到所有能匹配的单词

    #coding=utf- #字典嵌套牛逼,别人写的,这样每一层非常多的东西,搜索就快了,树高26.所以整体搜索一个不关多大的单词表 #还是O(). ''' Python 字典 setdefault() ...

  4. 【UI测试】--多窗口&系统资源

  5. django 静态文件

    django中的静态文件,如图片,css样式jquery等等 在url最下面加上 from django.conf.urls.static import staticfrom django.conf ...

  6. linux系统,在centos7环境下安装jdk步骤

    记录一下安装jdk1.8版本的出错过程: 按照这个博客内容安装的,以及修改文件权限博客 [Linux]CentOS7下安装JDK详细过程 [Linux]目录文件权限的查看和修改[转] 1.安装的jdk ...

  7. 自学java坎坷之路——20155312张竞予

    20155312 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周并没有在课堂上对教材内容进行学习,学习内容概括如下 课程分数构成,其中包括课堂测验(每 ...

  8. 开发简单的JavaWeb项目

    一.配置相关环境 下载配置JDK,eclipse,Tomcat服务器,Mysql数据库,Navicat for MySQL(数据库可视化工具) 如果你已经做好各个环境的配置,eclipse与Tomca ...

  9. 2018.10.26 NOIP模拟 瓶子 (dp/贪心)

    传送门 正解是dp并不想去想了. 自己yy了一个贪心拿了95pts95pts95pts,唯一没过的点还只有一个地方错了,面向数据变成之后过啦! 所以我讲讲如何贪心. 考虑到最后都只会合并成一种颜色,所 ...

  10. Linux关机操作

    正确的关机流程为:sync > shutdown > reboot > halt 关机指令为:shutdown ,你可以man shutdown 来看一下帮助文档. 例如你可以运行如 ...