1 Star 0 Fork 0

手捧向日葵的花语/力扣题集

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
elfs_weapons.cpp 2.25 KB
一键复制 编辑 原始数据 按行查看 历史
手捧向日葵的花语 提交于 2024-12-18 22:18 . elfs的武器库
#define _CRT_SECURE_NO_WARNINGS 1
//算法题:
//
//厄斐琉斯的背包中有5把武器,分别是
//
//绿刀通碧 红刀断魄 紫刀坠明 蓝刀莹焰 白刀折镜
//
//初试的顺序是 绿红蓝紫白 每把武器50颗弹药
//
//厄斐琉斯的 平A 消耗位于武器包最前位置的武器1颗弹药
//
//厄斐琉斯的 Q 技能 消耗位于武器包最前位置武器的10颗弹药,如果弹药 <= 10 责清空弹药
//
//当位于武器包最前位置的弹药清空时,该武器会置入武器包最末尾的位置,并且填充50颗弹药,其他武器依次前移
//
//厄斐琉斯的 W 技能 可以交换武器包1 2位武器的位置
//
//
//
//输入 A 30 Q Q W Q A 100
//
//输出当前武器库的顺序 如 绿紫蓝红白
#include <iostream>
#include <queue>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
struct weapon
{
int _bullet;
string _color;
weapon(string color, int bullet = 50)
:_bullet(bullet)
,_color(color)
{}
};
int main()
{
deque<weapon> elfs;
// 插入初识顺序: 绿 红 蓝 紫 白
elfs.push_back(weapon("green"));
elfs.push_back(weapon("red"));
elfs.push_back(weapon("blue"));
elfs.push_back(weapon("purple"));
elfs.push_back(weapon("white"));
// 输入数据
cout << "请输入你的操作(以空格分隔): ";
string input;
getline(cin, input);
// 存储输入的数据
vector<string> options;
istringstream iss(input);
string option;
// 使用空格作为分隔符来读取子串
while (iss >> option) {
options.push_back(option);
}
for (int i = 0; i < options.size(); ++i)
{
string sub_option = options[i];
// 平A
if (sub_option == "A")
{
auto e = elfs.front();
e._bullet--;
if (e._bullet == 0)
{
elfs.pop_front();
elfs.push_back(weapon(e._color));
}
}
// 消耗10颗弹药
else if(sub_option == "Q")
{
auto e = elfs.front();
if (e._bullet > 10)
{
e._bullet -= 10;
}
else
{
elfs.pop_front();
elfs.push_back(weapon(e._color));
}
}
// 交换1,2把武器的位置
else if (sub_option == "W")
{
auto weapon_1 = elfs.front();
elfs.pop_front();
auto weapon_2 = elfs.front();
elfs.pop_front();
elfs.push_front(weapon_2);
elfs.push_front(weapon_1);
}
else
{
int num = stoi(sub_option);
auto e = elfs.front();
if (num >= e._bullet)
{
elfs.pop_front();
elfs.push_back(weapon(e._color));
}
else
{
e._bullet -= num;
}
}
}
for (auto e : elfs)
{
cout << e._color << " ";
}
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/a-chao-must-work-hard/li-kou-question-set.git
git@gitee.com:a-chao-must-work-hard/li-kou-question-set.git
a-chao-must-work-hard
li-kou-question-set
力扣题集
master

搜索帮助