初次见识结构体与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 ...
随机推荐
- Mac OS 10.12 - 在VMwear Workstation12.5.2中以两种方式进入恢复模式(Recovery)!!!
注意:如果你打算安装Mac OS10.12 到虚拟机里面学习,那么我强烈建议你在没有安装任何其它软件之前,按照我这篇博客来进入恢复模式(Recovery),禁用Rootless机制!!!这样处理后,你 ...
- java 环境搭建
一.安装jdk 下载jdk http://www.oracle.com/technetwork/java/javase/downloads 将下载的jdk文件放到 /opt 下解压 $sudo cp ...
- Eclipse设置jre版本 或者 jdk
设置Eclipse默认的 JRE 版本 Eclipse 配置 JDK 的方法和配置 JRE 相同 windows --> Preferences --> Java --> 完成后查看 ...
- PHP Cron Expression Parser ( LARAVEL )
The PHP cron expression parser can parse a CRON expression, determine if it is due to run, calcul ...
- go语言练习
// main package main import ( "fmt" "runtime" "sync" ) func main() { f ...
- 火狐 debug 看向后台传递的信息
自己做前端和后台开发,最重要的是数据交换,知道了数据是怎么传的,传到哪里,传的什么,就能很容易的开发. 火狐看传递参数的信息在debug里面,详情如图: 我的后台的C# 的webservice,接收起 ...
- jQuery学习笔记:基础
本文主要总结jQuery中一些知识点 概念 美元符号$是著名的jQuery符号.jQuery把所有功能全部封装在一个全局变量jQuery中,而$也是一个合法的变量名,它是变量jQuery的别名 $本质 ...
- spring学习 三 框架的搭建
1 导入jar包 spring启来最少要5个包,四个核心包和一个依赖的日志包 2 创建配置文件 在dynamic web project下的src目录下,创建一个spring的xml配置文件,名称可以 ...
- HTML and CSS学习概述
一·Web浏览器是一个连接到Web服务器,向Web服务器请求信息,然后解析返回来的HTML标记,并将其显示在浏览器窗口内的程序.1.Microsoft 2.Internet Explorer(IE)3 ...
- 在myeclipse上发布自己的webservice
什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过w ...