C++课后习题训练记录Day189

1.练习项目 :

问题描述

小蓝又在研究新的电池实验,他发现如果电池相互连接起来后,若电池电量恰巧为回文数字,则整个电路的供给效率会大大提高。

现在有包含 N 个电池的电路 A ,电池的电量均为正整数,小蓝可以选择 x 和 y 两个正整数,将 A 中所有的 x 替换成 y 。操作可以进行任意次,目的是让电路中的电池电量变成一串回文数,即满足对于任意 1≤i≤N,都有 Ai=AN+1−i​。

请问,小蓝至少需要进行多少次操作才能达成目标?

输入格式

第一行包含一个正整数 N(1≤N≤102),表示电路 A 的长度。

第二行包含 N 个正整数 A1,A2,...,AN​(1≤Ai≤105),表示电路 A 中的元素。

输出格式

输出一个整数,表示小蓝至少需要进行的操作次数。

2.选择课程

在蓝桥云课中选择题库,选择题号8222并开始练习。

3.开始练习

(1)源码 :

#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 10;

int n, ans, aN, pN;

int f(int x) {

return px = (px == x ? x : f(px));

}

int main() {

for (int i = 1 ; i <= 1e5 ; i ++) pi = i;

cin >> n;

for (int i = 1 ; i <= n ; i ++) {

cin >> ai;

if (i > n / 2) if (f(an - i + 1) != f(ai)) {

ans ++;

pf(a\[i)] = f(an - i + 1);

}

}

cout << ans << '\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:

注意每段代码末尾的分号是否存在 ,如不存在则需即使补充;输入法 是否切换为英语模式;语法是否错误。

相关推荐
東隅已逝,桑榆非晚1 小时前
算法6. 双指针法-查找总价格为目标的两个商品
c++·学习·算法
qq_406981032 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐2 小时前
MATLAB
开发语言·算法·matlab
H.莓飛4 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
Rabitebla4 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
沫璃染墨4 小时前
从零入门计算机网络系列(十五):TCP可靠传输机制详解——从序号与确认应答到乱序处理
服务器·网络·c++·tcp/ip·tcp
青少儿编程课堂5 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:Bellman-Ford与SPFA含负权最短路及负环检测全解析
c++·python·算法·bfs·信息学竞赛
旖旎夜光5 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习
j7~5 小时前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文
eggwyw5 小时前
C++中大括号的用法合集
开发语言·c++