初次见识结构体与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 ...
随机推荐
- vs2010打开qt的.pro文件时错误解决办法
注意:qt creator工程中一般都已经存在*.pro文件,里面存放着一些自己配置的包含头文件和lib库文的信息,最好不要再重新使用qmake -project生成,若重新生成,则可能要重新增加配置 ...
- Spring 中参数名称解析 - ParameterNameDiscoverer
Spring 中参数名称解析 - ParameterNameDiscoverer Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.ht ...
- Python之路(第二十二篇) 面向对象初级:概念、类属性
一.面向对象概念 1. "面向对象(OOP)"是什么? 简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使 ...
- phantomjs问题收集
1. phantomjs如果遇到重定向的url,两个页面都会加载,onInitialized只会执行一次,onResourceReceived会执行两次.我试过在onInitialized加一段代码, ...
- SQL判断如果一列值为null则取另一列值代替 isnull()
[chClientCode] ,[nvcClientName] ,[chRegionCode] ,isnull(chUltimateHeadClientCode,[chClientCode]) as ...
- Mac网络命令 老命令重新学
网络与通信操作 命令名 功能描述 使用举例 telnet 远程登录 telnet hpc.sp.net.edu.cn rlogin 远程登录 rlogin hostname -l username r ...
- 从hash算法到java hashcode()
转载 https://blog.csdn.net/Walk_er/article/details/74976146 hash算法是一个摘要算法(yy:描述性算法:可以给一个物体确切的描述,但是不能通过 ...
- 过河卒(NOIP2002)
题目链接:过河卒 直接模拟?会T掉60分. 所以我们可以采用递推,怎么想到的? 因为卒子只能向下或向右走,所以走到一个点的方法数,等于走到它上面点的方法数加上走到它左边点的方法数,这样就可以地推了. ...
- python学习 day4 (3月5日)---列表
列表: 容器性数据 有序 可更改 大量数据 一.增 1.追加 append(objcet) 2.索引增加 Insert(index,元素) 3.迭代追加 extend(object) ...
- MySQL按日、周、月统计数据
知识关键词:DATE_FORMAT ps:如果时间字段为时间戳则,DATE_FORMAT(from_unixtime(create_time),'%Y-%u') select DATE_FORMAT( ...