基础算法题——矩阵乘法(异或和)
前言
本人为一名普通二本学校自动化专业的大二学生,对编程有着少许兴趣。
写这道题主要目的为了分享自己的学习经验。
题目
本题考查重点
①:异或和理解
②:矩阵乘法与计算
一开始粗略看了下题目,发现自己竟然看不懂题目意思。
关键不理解何为异或和以及如何求出所有元素的异或和。
于是我在网上查阅了一些资料,其实异或和很简单。
异或和:没有进制的二进制加法。
假设求5⊕3 :
5二进制 101
3二进制 011
异 或 和 110
回到题目里就是将每个元素进行异或和
那如何进行异或和会更简便呢?
我们可以先创一个sum=0的变量,将sum与元素求异或并保存数据于自身sum中,接着让下一个元素对sum求异或…最终sum为全部元素的异或和。
(ps:在做这道题的时候,我忘记能够直接输入十六进制%x保存数据,又要字符串又要新的矩阵弄得很是麻烦。。。希望这次能长点记性吧)
最后附上代码:
//求异或和——没有进制的二进制加法
#include<bits/stdc++.h>
using namespace std;
int A[5000]