备战蓝桥杯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;
}
相关推荐
A懿轩A9 分钟前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神10 分钟前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人14 分钟前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
机器视觉知识推荐、就业指导14 分钟前
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
c++
半盏茶香14 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
忘梓.1 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
️南城丶北离1 小时前
[数据结构]图——C++描述
数据结构··最小生成树·最短路径·aov网络·aoe网络
Ronin3051 小时前
11.vector的介绍及模拟实现
开发语言·c++
✿ ༺ ོIT技术༻1 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
字节高级特工1 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++