2026.2.14——OJ78-82题

T78:方块转换------二维数组

代码实现:

#include <iostream>

using namespace std;

int main() {

int n;

cin >> n;

char a[10][10], b[10][10];

**//**读取原始图案

for (int i = 0; i < n; i++)

for (int j = 0; j < n; j++)

cin >> a[i][j];

**//**读取目标图案

for (int i = 0; i < n; i++)

for (int j = 0; j < n; j++)

cin >> b[i][j];

//检查旋转(#1-#3)

for (int r = 1; r <= 3; r++) {

bool match = true;

for (int i = 0; i < n && match; i++)

for (int j = 0; j < n && match; j++) {

// 根据旋转角度计算对应位置

int x, y;

if (r == 1) { x = j; y = n-1-i; } // 90度

else if (r == 2) { x = n-1-i; y = n-1-j; } // 180度

else { x = n-1-j; y = i; } // 270度

if (a[i][j] != b[x][y]) match = false;

}

if (match) {

cout << r << endl;

return 0;

}

}

**//检查#4:**反射

bool match = true;

for (int i = 0; i < n && match; i++)

for (int j = 0; j < n && match; j++)

if (a[i][j] != b[i][n-1-j]) match = false;

if (match) {

cout << 4 << endl;

return 0;

}

**//检查#5:**反射后再旋转

for (int r = 1; r <= 3; r++) {

match = true;

for (int i = 0; i < n && match; i++)

for (int j = 0; j < n && match; j++) {

// 先反射

int ref_j = n-1-j;

// 再旋转

int x, y;

if (r == 1) { x = ref_j; y = n-1-i; } // 90度

else if (r == 2) { x = n-1-i; y = n-1-ref_j; } // 180度

else { x = n-1-ref_j; y = i; } // 270度

if (a[i][j] != b[x][y]) match = false;

}

if (match) {

cout << 5 << endl;

return 0;

}

}

**//检查#6:**不改变

bool same = true;

for (int i = 0; i < n && same; i++)

for (int j = 0; j < n && same; j++)

if (a[i][j] != b[i][j]) same = false;

if (same) {

cout << 6 << endl;

return 0;

}

**//否则#7:**无效转换

cout << 7 << endl;

return 0;

}

个人思考:

这道题比较繁琐,先输入原始图案和目标图案,分别检查每种变换是否符合,其比较重要的一点是弄清楚每种变换的坐标关系,这可以通过多找几组数据找到其中的规律。

T81:求小数位数个数------字符串

代码实现:

#include <iostream>

#include <string>

using namespace std;

int main() {

string num;

while (cin >> num) {

int count = 0;

bool find = false;

for (int i = 0; i < num.length(); i++) {

char c = num[i];

if (find) {

count++;

}

if (c == '.') {

find = true;

}

}

cout << count << endl;

}

return 0;

}

个人思考:

这道题考察字符串的知识,用find来标记是否遇到小数点,如果没遇到find就是false,遇到就是true,然后根据find可以判断是否需要count++,然后再输出对应的值。

T82:进制转换------字符串

代码实现:

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

string function_N(int m,int N){

//处理特殊情况:十进制m为0的情况

if(m==0) return "0";

string result="";

// 进行进制转换

while(m>0){

int r=m%N;//余数

char digit;

//根据余数大小转换成相应字符

if(r<10){

digit='0'+r;

}

else{

digit='A'+(r-10);

}

**result.push_back(digit);//**将一个字符添加到字符串的末尾

m/=N;//更新m**,继续处理更高位**

}

**//**反转字符串,因为我们是按从低位到高位的顺序生成的

reverse(result.begin(),result.end());

return result;

}

int main(){

int m,N;

//循环读取多组测试数据

while(cin>>m>>N){

//转换并输出结果

cout<<function_N(m,N)<<endl;

}

return 0;

}

个人思考:

这道题需要知道十进制转其他进制的规则,需要通过不断取余来拼接起来,注意这里还需要翻转顺序,直接利用reverse函数可以,然后记得要包含<algorithm>头文件。因为考虑十六进制这种,所以还需要注意余数r小于10,就用'0'+r得到数字字符;大于等于10就用'A'+(r-10)得到对应大写字母。

英语翻译:

P54: 一次能处理16位、32位和64位数据的处理器的发展,提高了计算机的运行速度。计算机能够执行的可识别模式的完整集合(即全部操作指令列表),被称为它的指令集。这两个因素------一次可处理的位数和指令集的规模------都随着现代数字计算机的持续发展而不断增长。

processor:处理器;处理单元

instruction set:指令集

ongoing:正在进行的;持续的;未完成的

P55:III.硬件

现代数字计算机在概念上都是相似的,无论其尺寸大小。不过,我们可以根据成本和性能将它们划分为多个类别:

·个人计算机或 微型计算机**:** 一种成本相对较低的机器,通常是台式机尺寸(不过"笔记本电脑"小到可以放进公文包,而"掌上电脑"则可以装进口袋)。·工作站: 一种具备增强图形和通信能力的微型计算机,这使其特别适用于办公工作。·小型计算机: 通常价格过高,不适合个人使用,其能力更适合企业、学校或实验室。· 大型机**:** 一种大型、昂贵的机器,能够满足大型企业、政府部门、科研机构等的需求(其中最大、最快的这类计算机被称为超级计算机)。

conceptually:从概念上;在概念层面

Nevertheless:然而;尽管如此;不过

microcomputer:微型计算机;微机

desktop:台式机;桌面型计算机

laptops:笔记本电脑;膝上型电脑

briefcase:公文包;公事包

palmtops:掌上电脑;手持电脑

mainframe:大型机;主机(计算机)

enterprise:企业;大型企业

establishment:机构;单位;研究机构

or the like:诸如此类;等等;以及类似的事物

P56:数字计算机并非一台单一的机器,而是一个由五个截然不同的元素组成的系统:(1)中央处理单元(2)输入设备(3)存储设备(4)输出设备(5)通信网络,也称为总线,它将系统的所有元素连接起来,并使系统与外部世界相连。

distinct:清晰的;截然不同的;有区别的

bus:总线;数据总线

背单词:

相关推荐
Hag_201 小时前
LeetCode Hot100 560.和为K的子数组
数据结构·算法·leetcode
田里的水稻1 小时前
FA_规划和控制(PC)-规律路图法(PRM)
人工智能·算法·机器学习·机器人·自动驾驶
追随者永远是胜利者2 小时前
(LeetCode-Hot100)23. 合并 K 个升序链表
java·算法·leetcode·链表·go
ab1515172 小时前
2.16完成107、108、111
算法
CHANG_THE_WORLD2 小时前
C++ 一维、二维、三维数组完整演示
开发语言·c++
小O的算法实验室2 小时前
2026年IEEE IOTJ SCI2区TOP,面向关键节点感知的灾害区域无人机集群路径规划,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
闻缺陷则喜何志丹2 小时前
【构造】P9215 [入门赛 #11] [yLOI2021] 扶苏与 1 (Hard Version)|普及+
c++·算法·洛谷·构造
Neil今天也要学习2 小时前
永磁同步电机控制算法--基于数据驱动的超局部无模型预测电流控制MFPC及改进
单片机·嵌入式硬件·算法
航哥的女人2 小时前
setsockopt()详解
c++·tcp/ip