备战蓝桥杯1

cpp 复制代码
#include<iostream>
#include<algorithm>
#include<vector>
#include<iomanip>
#include<cmath>
using namespace std;
int n, k;
double arr[30][30];
double sum[30];
double sum1[30];
int n1[30];
int ave[30];
struct student
{
	double score;
	int team;
};
vector<student>v;
int round_0(double n)
{
	if (n > 0)
		return n - int(n) >= 0.5 ? int(n) + 1 : int(n);
	else
		return -n - int(-n) >= 0.5 ? -(int(-n) + 1) : -int(-n);
}

bool cmp(student stu1, student stu2)
{
	if (stu1.score == stu2.score)
	{
		return stu1.team < stu2.team;
	}
	return stu1.score > stu2.score;
}
int main()
{
	cin >> n >> k;
	student stu;
	char ch;
	double s;
	for (int i = 1;i <= n;i++)
	{
		cin >> s;
		cin >> ch;
		int c = int(ch - 64);
		stu.score = s;
		stu.team = c;
		v.push_back(stu);
	}
	for (int i = 1;i <= k;i++)
	{
		for (int j = 1;j <= k;j++)
		{
			cin >> arr[i][j];
			sum[j] += arr[i][j];
			sum1[j] += arr[i][j];
		}
	}
	for (int i = 1;i <= k;i++)
	{
		for (int j = 1;j <= k;j++)
		{
			if (abs(arr[i][j] - sum[j] / k) > 15)
			{
				n1[j]++;
				sum1[j] -= arr[i][j];
			}
		}
	}
	for (int i = 1;i <= k;i++)
	{
		ave[i] = round(sum1[i] / (k - n1[i]));
		//cout << ave[i] << " ";
	}

	for (vector<student>::iterator it = v.begin();it != v.end();it++)
	{
		int x = (*it).team;
		(*it).score = round(((*it).score * 6 + ave[x] * 4) / 10);
	}
	sort(v.begin(), v.end(), cmp);
	for (vector<student>::iterator it = v.begin();it != v.end();it++)
	{
		cout << fixed << setprecision(0) << (*it).score << ' ';
		cout << char((*it).team + 64) << endl;
	}
	return 0;
}
复制代码
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
bool is[50005];
bool use[26];
int main()
{
	string str;
	cin >> str;

	int len = str.length();
	int cnt = len;

	for (int i = 0;i < str.length();i++)
	{
		
		memset(use, 0, sizeof(use));
		use[int(str[i]) - 97] = true;
		if (str[i] == str[i + 1]) {
			is[i] = 1;
			cnt += 1;
		}
		for (int j = 1;j <= str.length();j++)
		{
			if (j + i >= len || i - j < 0||str[i+j]!=str[i-j]|| use[int(str[i + j])-97]==true)break;
			cnt++;
			use[i + j] = true;
			use[i - j] = true;
			/*for (int z = i-j;z <= j + i;z++)
			{
				cout << str[z];
			}
			cout << endl;*/
		}
	}
	for (int i = 0;i < str.length();i++)
	{
		memset(use, 0, sizeof(use));
		if (is[i])
		{
			use[int(str[i]) - 97] = true;
			for (int j = 1;j <= str.length();j++)
			{
				if (j + i + 1 >= len || i - j < 0 || str[i + j + 1] != str[i - j] || use[int(str[i + j + 1]) - 97] == true)break;
				cnt++;
				use[i +1+ j] = true;
				use[i - j] = true;
			}
		}
	}
	cout << cnt << endl;
	return 0;
}
相关推荐
怕浪猫3 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i4 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
7yewh5 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
Evand J5 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
leikooo5 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
郑同学的笔记6 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
随意起个昵称6 小时前
【背包dp】输出方案路径
c++·动态规划
weixin_307779136 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i6 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
by209997 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string