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)练习心得:

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

相关推荐
君顾19 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
南棱笑笑生9 小时前
20260904实测给飞凌OK3576-C开发板刷入Rockchip原厂的IMG固件【使用飞凌的DTS】切换串口波特率为1.5Mbps
c语言·开发语言·rockchip
平头哥技术团队10 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌萨奇也要立志学C++10 小时前
【洛谷】kmp算法
开发语言·算法
传奇开心果编程10 小时前
【Rust入门知识点学与练】第4课:条件判断 if / else
开发语言·学习·rust
m0_3807438710 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
Draw Stars10 小时前
Git BASH安装教程
开发语言·git·bash
vortex511 小时前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听11 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
weixin_3077791311 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab