1440 [AA]重生之我是Zarc_______厉兵秣马
来源:互联网 发布:考试经文知乎 编辑:程序博客网 时间:2024/05/19 06:16
Background
作为统一次元最强决斗者,毁灭世界的头号BOSS的扎克,竟然被自己的分身神游矢用主角光环给抹杀了。心怀怨恨的扎克带着愤怒重生了,现在,他不仅仅准备打败上代务给他定下的命运,而且准备向帕尔多斯那样击败最强决斗者——法老王。但是,首先,他得从自己的卡组中找到最强的四张卡来作为他的最强王牌。
Description
每一张卡牌都有五大属性:星数,攻击力,防御力,效果强度,属性。
扎克的选择是通过寻找到评分最高的四张卡,评分标准:
总评 = 星数 + 攻击力10 + 防御力*10 + 效果强度 100000 + 属性对应的数字;
卡牌一共有七大属性和属性对应的强度:
wind 1
water 1
fire 2
land 1
light -1000
dark 10
god 10000000
不过,神(god)属性的卡牌扎克无法使用,星数超过12的卡牌属于ZZ假卡,也无法使用
Input
首先输入七行数据,加载卡牌的属性和对应的属性值
然后输入18,表示一共有十八张卡牌,接下来18行数据,每一行数据表示一张卡牌的属性
X001 13 1000 1000 10 dark
X002 4 2000 1000 10 dark
X003 0 3000 1000 10 dark
X004 7 4000 100 10 dark
X005 8 5000 100 10 dark
X006 7 3000 10 1 land
X007 12 100 100 1 land
X008 1 1011 100 1 land
X009 2 1002 10 1 fire
X010 3 1004 100 1 fire
X011 4 1005 100 1 fire
X012 5 1006 100 1 lind
X013 6 1007 100 2 wind
X014 7 1008 0 3 wind
X015 8 1009 0 1 wind
X016 1 1008 10 4 wind
X017 2 1022 100 1 wind
X018 1 1013 100 1 god
分别是 卡牌名称,星数,攻击力,防御力,效果强度,属性
Output
输出评分前五的卡牌名称,每个一行,最后空一行
map vector pair 关联容器, 迭代器,C++11的标准,看一下就可以做了,没坑
Provided Codes
ss.cpp
#include<iostream>#include "source.h"using namespace std;void nature_complete(map<string, int> &nature);void card_complete(vector<pair<string, int>>& card, map<string, int> &nature);bool compare(pair<string,int> a, pair<string, int> b);void print(vector<pair<string, int>> ::iterator begin, vector<pair<string, int>> ::iterator end);int main(){ map<string, int> Nature; nature_complete(Nature); auto be = Nature.cbegin(); vector<pair<string, int>> Card; card_complete(Card,Nature); sort(Card.begin(), Card.end(), compare); auto bbe = Card.begin(); auto eend = Card.end(); print(bbe, eend); getchar(); getchar();}
Submission
source.h
#include<iostream>#include<map>#include<vector>#include<string>#include<algorithm>using namespace std;void nature_complete(map<string, int> &nature) { for (int i = 0; i<7; i++) { string name; int value; cin >> name >> value; nature.insert(pair<string, int>(name, value)); }}void card_complete(vector<pair<string, int>>& card, map<string, int> &nature) { int amount; cin >> amount; for (int i = 0; i < amount; i++) { string name, Nature; int star, attack, defense, power; cin >> name >> star >> attack >> defense >> power >> Nature; if (star <= 12 && Nature != "god") { int nat; map<string, int>::iterator key = nature.find(Nature); if (key != nature.end()) { nat = key->second; } int value = star + attack * 10 + defense * 10 + power * 100000 + nat; card.push_back(pair<string, int>(name, value)); } }}bool compare(pair<string, int> a, pair<string, int> b) { return a.second > b.second;}void print(vector<pair<string, int>> ::iterator begin, vector<pair<string, int>> ::iterator end) { vector<pair<string, int>> ::iterator tempIterator; int i = 0; for (tempIterator = begin; tempIterator != end; ++tempIterator,++i) { cout << tempIterator->first << endl; if (i == 3) break; }}
Standard Answer
source.h
#include<iostream>#include<string>#include<map>#include<vector>#include<utility>#include<algorithm>using namespace std;void nature_complete(map<string, int> &nature){ int num = 0; string Na; int Data; while (num < 7) { cin >> Na >> Data; nature.insert({ Na,Data }); num++; }}void card_complete(vector<pair<string, int>>& card, map<string, int> &nature){ int num; cin >> num; for (int i = 0; i < num;) { i++; string std; int A; int B; int C; int D; string E; int sum = 0; int EE; cin >> std >> A >> B >> C >> D >> E; if (A >= 12 || E == "god") continue; EE = nature[E]; sum += A + 10 * B + 10 * C + 100000 * D + EE; card.push_back(make_pair(std, sum)); //cout << std << " " << sum << endl; }}bool compare(pair<string, int> a, pair<string, int> b){ if (a.second > b.second) return true; else return false;}void print(vector<pair<string, int>> ::iterator begin, vector<pair<string, int>> ::iterator end){ int i = 4; while (i>0) { cout << (*begin).first; cout << endl; begin++; i--; }}
- 1440 [AA]重生之我是Zarc_______厉兵秣马
- 我是季重生
- 重生之官路
- 重生之晚来月
- poj 3565 (弱校联萌十一大决战之厉兵秣马 A. Ants )
- 弱校联萌十一大决战之厉兵秣马H. Hanoi Towers poj3572
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- 重生
- IO流之对象流
- javaBean的基本概念及使用
- ArcMap多边形边界平滑Smooth
- Json
- python爬虫3之http get请求模拟
- 1440 [AA]重生之我是Zarc_______厉兵秣马
- 图像特征提取之LBP特征
- 快速WinForm开发
- Android中的属性,是怎么应用到控件上的(一)
- Java猴子选王问题(约瑟夫环)
- EL表达式详解
- scala的闭包
- C 字符串的输入输出
- Redis in Python:Redis 在Python2和Python3中文编码的区别