初次见识结构体与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 ...
随机推荐
- 更好地限制一个UITextField的输入长度
要限制一个UITextField的输入字数,首先想到的应该是通过 UITextFieldDelegate 的代理方法来限制: - (BOOL)textField:(UITextField *)text ...
- 06. pt-duplicate-key-checker
| t01 | CREATE TABLE `t01` ( `pkid` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT ...
- Vim 基本配置
1.关闭vi的一致性模式 set nocompatible 2.配置backspace的工作方式 set backspace=indent,eol,start 3.显示行号 set number 4. ...
- socket的同步异步的性能差别,以及listen的参数backlog
先说listen的参数backlog,同步系统中分别设置为5,512,1024的跑分情况 跑分工具apache的ab,参数为:ab -n50000 -c300 backlog=5跑分结果 Reques ...
- strace使用
统计信息 -c -- count time, calls, and errors for each syscall and report summary 输出结果到文件 -o 例如 strace ...
- SQL 中的Begin...End语句
Begin...End通常用来表示一个语句块,其内部的代码可以包含一组T-SQL语句,可以理解为高级语言中的{},这样在使用while循环时才知道判断什么时候结束.
- MVVM中viewmodel的理解
网上有人写了这段话,我也有同感,特别是第一种用法,很重要,后一种用法,我觉得是把第一种用法加入controller中了. 第一种 “view model” 是 “model for the view” ...
- Java第3章笔记
if基本语法: if(条件){// 表达式 // 代码块 } eg: int a = 10; if(a > 1){ System.out.println("内容& ...
- HMM(隐马尔可夫模型)不断学习中
HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子:一个东京的朋友每天根据天气{下雨,天晴}决定当天的活动{公园散步,购物,清理房间}中的一种,我每天只能在twitter上看到 ...
- 2019.01.26 codeforces 528D. Fuzzy Search(fft)
传送门 fftfftfft好题. 题意简述:给两个字符串s,ts,ts,t,问ttt在sss中出现了几次,字符串只由A,T,C,GA,T,C,GA,T,C,G构成. 两个字符匹配的定义: 当si−k, ...