oppo提前批0715笔试题C++

第一题:构造二阶行列式

小欧希望你构造一个二阶行列式,满足行列式中每个数均为不超过20的正整数,且行列式的值恰好等于x。你能帮帮她吗?

提示:二阶行列式的计算方式:

图片

输入描述

一个正整数x。-1000<=x<=1000

输出描述

如果无解,请输出-1。否则输出任意合法行列式即可(输出两行,每行输出两个不超过20的正整数)。

示例1

输入

2

输出

3 2

5 4

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>

using namespace std;

int main()
{
	int n;
	cin >> n;
	for (int a = 0; a <= 20; a++)
	{
		for (int b = 0; b <= 20; b++)
		{
			for (int c = 0; c <= 20; c++)
			{
				for (int d = 0; d <= 20; d++)
				{
					if (a * d - b * c == n)
					{
						cout << a << " " << b << endl;
						cout << c << " " << d << endl;
						return 0;
					}
				}
			}
		}
	}


	return 0;
}

第二题:挑战boss

小欧正在一个回合制格斗游戏中挑战一个boss。已知游戏的0/3机制如下:

每回合小欧先手攻击boss,然后boss攻击小欧,此时1回合结束。小欧有时可以闪避boss的攻击,当闪避成功时这回合将不受boss的伤害。

小欧攻击boss时可以攒"连击点",她攻击造成的伤害为a+kb,其中a为基础攻击力,b为基础连击伤害,k为连击次数。小欧每次攻击后会让连击次数加1,但当受到boss的伤害后会重置连击次数为0。

小欧想知道,她最终共对boss造成了多少伤害?

输入描述

第一行输入三个正整数n,a,b,代表回合的数量,小欧基础攻击力,小欧的基础连击伤害。

第二行输入一个长度为n的字符串,字符串仅由o和x组成,其中o代表本回合闪避成功,x代表本回合闪避失败。

1<=n,a,b<=10^5

输出描述

一个正整数,代表小欧造成的伤害总和。

示例1

输入

3 5 2

oxo

输出

17

说明

第一回合攻击,连击次数为0,造成5点伤害。攻击后连击次数变成1。小欧闪避成功。

第二回合攻击,连击次数为1,造成7点伤害。攻击后连击次数变成2.小欧闪避失败,连击次数为0。

第三回合攻击,连击次数为0,造成5点伤害。攻击后连击次数变成1。小欧闪避成功。

总共造成17点伤害。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>

using namespace std;
int main()
{
	int n, j, f;
	cin >> n >> j >> f;
	string s;
	cin >> s;
	int sum = 0;
	int k = 0;
	for (int i = 0; i < n; i++)
	{
		if (s[i] == 'o')
		{
			sum += f * k;
			k++;
		}
		else
		{
			sum += f * k;
			k = 0;
		}
		sum += j;
	}

	cout << sum << endl;
	return 0;
}```


好久没发文章了,这是两个简单题,继续加油!
相关推荐
Z9fish1 分钟前
C语言算法专题总结(一)排序
c语言·算法·排序算法
wjs20243 分钟前
CSS 颜色
开发语言
无巧不成书02185 分钟前
Java数值字面量速查表
java·开发语言·python·开发者·字面量
小鸡吃米…5 分钟前
测试线程应用程序
开发语言·python
python开发笔记6 分钟前
python(79) 底层代码追踪工具
开发语言·python
kgduu6 分钟前
js之错误处理
开发语言·前端·javascript
Bert.Cai7 分钟前
Python函数的定义与调用
开发语言·python
美式请加冰9 分钟前
模拟的介绍和使用
java·开发语言·算法
无限进步_10 分钟前
深入解析vector:一个完整的C++动态数组实现
c语言·开发语言·c++·windows·git·github·visual studio
云泽80814 分钟前
蓝桥杯算法精讲:贪心算法之区间问题深度剖析
算法·贪心算法·蓝桥杯