备战蓝桥杯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;
}
相关推荐
骁的小小站1 小时前
Verilator 和 GTKwave联合仿真
开发语言·c++·经验分享·笔记·学习·fpga开发
大数据张老师4 小时前
数据结构——邻接矩阵
数据结构·算法
低音钢琴4 小时前
【人工智能系列:机器学习学习和进阶01】机器学习初学者指南:理解核心算法与应用
人工智能·算法·机器学习
旭意5 小时前
C++蓝桥杯之结构体10.15
开发语言·c++
深思慎考6 小时前
调用百度云语音识别服务——实现c++接口识别语音
c++·语音识别·百度云
傻童:CPU6 小时前
C语言需要掌握的基础知识点之前缀和
java·c语言·算法
深思慎考6 小时前
从合并两个链表到 K 个链表:分治思想的递进与堆优化
数据结构·链表·递归··队列·合并链表
又见野草6 小时前
软件设计师知识点总结:数据结构与算法(超级详细)
数据结构·算法·排序算法
GalaxyPokemon7 小时前
有一个服务器,用于提供HTTP服务,但是需要限制每个用户在任意的100秒内只能请求60次,怎么实现这个功能
算法
fl1768317 小时前
基于opencv+Mediapipe+CNN实现用手势识别控制对鼠标操控python源码+项目说明+设计文档
算法