初次见识结构体与map的区别
题目 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的区别的更多相关文章
- C#中结构体和类的区别
结构体和类同样能够定义字段,方法和构造函数,都能实例化对象,这样看来结构体和类的功能好像是一样的了,但是他们在数据的存储上是不一样的 C#结构体和类的区别问题:这两种数据类型的本质区别主要是各自指向的 ...
- C#中结构体与类的区别
一.结构体和类非常相似 1,定义和使用非常相似,例子如下:public struct Student{ string Name; int Age;}public class Questio ...
- [转]C#中的结构体与类的区别
C#中的结构体与类的区别 经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字cla ...
- C#结构体和类的区别(转)
结构体和类的区别: 在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同,虽 ...
- 结构体作为map的key或放入set中,需要重载<运算符
结构体作为map的key或放入set中,需要重载<运算符,如下: typedef struct tagRoadKey{ int m_i32Type; int m_i32Scale; ...
- GO学习-(38) Go语言结构体转map[string]interface{}的若干方法
结构体转map[string]interface{}的若干方法 本文介绍了Go语言中将结构体转成map[string]interface{}时你需要了解的"坑",也有你需要知道的若 ...
- Swift基础语法(五)枚举、结构体与类的区别
swift中的结构体值可以是整型.浮点型.字符串.字符.元祖,如果不赋值默认为整型且从0开始计数,如果为整型枚举且要求不是从0开始只需指定枚举的第一个值以后的值自动依次加1 引用方式也与oc有所出入 ...
- C#中的结构体与类的区别
经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字str ...
- 【 转】 C/C++结构体和联合体的区别
联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型 总结: 声明一个联合体: union abc { i ...
随机推荐
- Can't find bundle for base name test.properties, locale zh_CN
这个问题花了我好长时间,网上搜了一个答案:http://verran.iteye.com/blog/44357 是将properties文件放在新建的文件夹下,如config,然后将config加入到 ...
- Luogu1501 Tree II - LCT
Code #include<cstdio> #include<cstring> #include<algorithm> #define rd read() #def ...
- Centos PS1
PS1="[\[\e[35m\]\u\[\e[m\]\[\e[31m\]->\[\e[m\]\[\e[33m\]\H\[\e[m\]\[\e[31m\]->\[\e[m\]\[\ ...
- 语法分析器初步学习——LISP语法分析
语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...
- MySQL数据库相关操作
查看数据库 mysql> SHOW DATABASES; 选择数据库 mysql> USE 数据库名称: 查看当前数据库 mysql> select database(); -- 第 ...
- redis 和 kookeeper 连用 构建 redis集群
转载地址:https://www.zhihu.com/question/62598701
- ubuntu 安装jdk7小结(转载)
ubuntu 安装jdk7小结 目录(?)[+] ubuntu 安装jdk7,现在来总结一下:第一步:下载jdk-7-linux-i586.tar.gz直接在ORACLE的官网中下载就可以:http: ...
- C语言基础第四次作业
题目7-2,九九乘法表 1.实验代码: #include<stdio.h> int main() { int N, i, j, q; scanf("%d",&N ...
- MyBatis中实现多表查询
如果查询的数据量大,推荐使用N+1次查询.数据量少使用联合查询... 一. 1.Mybatis是实现多表查询方式 1.1 业务装配:对两个表编写单表查询语句,在业务(Service)把查询的两表结果 ...
- Svn项目管理工具
1 svn介绍 1.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对代码文件.配置文件.文档等没有进行版本控制,将会出现很多问题: 备份多个版本,占用磁盘空间大 解 ...