博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-4364 Matrix operation
阅读量:6239 次
发布时间:2019-06-22

本文共 2087 字,大约阅读时间需要 6 分钟。

简单矩阵...

代码如下:

#include 
#include
#include
#include
using namespace std;unsigned int temp[5][5] = { {
0, 0, 0, 0, 0}, {
0, 2, 3, 1, 1}, {
0, 1, 2, 3, 1}, {
0, 1, 1, 2, 3}, {
0, 3, 1, 1, 2}};unsigned int fix(unsigned int x){ if (x > 0xff) { x ^= 0x1b; } return x % (0xff+1);}unsigned int op(unsigned int b, unsigned int a){ if (b == 1) { return fix(a); } else if (b == 2) { return fix(a << 1); } else { return fix( fix(a << 1) ^ a ); }}struct Matrix{ unsigned int a[5][5]; Matrix unit () { Matrix ret; for (unsigned int i = 1; i <= 4; ++i) { ret.a[i][i] = 1; } return ret; } void zero(){ memset(a, 0, sizeof(a)); } Matrix operator * (Matrix temp) const { Matrix ret; ret.zero(); for ( int i = 1; i <= 4; ++i) { for ( int j = 1; j <= 4; ++j) { for ( int k = 1; k <= 4; ++k) { ret.a[i][j] ^= op(a[i][k], temp.a[k][j]); fix(ret.a[i][j]); } } } return ret; } void read() { for ( int i = 1; i <= 4; ++i) { for ( int j = 1; j <= 4; ++j) { scanf("%X", &a[i][j]); } } } void copy(unsigned int temp[][5]) { for ( int i = 1; i <= 4; ++i) { for ( int j = 1; j <= 4; ++j) { a[i][j] = temp[i][j]; } } } void print() { for (int i = 1; i <= 4; ++i) { for (int j = 1; j <= 4; ++j) { printf(j==1 ? "%02X" : " %02X", a[i][j]); } puts(""); } }}M, S, ret;int main(){ unsigned int T; scanf("%u", &T); while (T--) { M.read(); S.copy(temp); ret = S * M; ret.print(); if (T > 0) { puts(""); } } return 0;}

转载于:https://www.cnblogs.com/Lyush/archive/2012/08/15/2639744.html

你可能感兴趣的文章
《黑客与画家》读摘
查看>>
android 客户端 Cookie处理
查看>>
localtime与localtime_r
查看>>
Script to Collect Data Guard Diagnostic Information
查看>>
cell manager opening cell等待事件
查看>>
Autodesk 首届中国开发者夏令营将在6月19-20在北京举行
查看>>
Visual Studio 2012 Update 2 (KB2707250)
查看>>
MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
查看>>
Android 封装http请求的工具类
查看>>
黑书上的DP例题
查看>>
每天一个新标签/方法/属性/兼容性/问题
查看>>
《Linux内核设计与实现》读书笔记(九)- 内核同步介绍
查看>>
Delphi-IOCP 共同学习研究群号 320641073
查看>>
sql2008中已存在已有数据表修改主键为自增不让更改的解决方案
查看>>
控件路径自定义控件遇到的两个小问题
查看>>
【BZOJ】2648: SJY摆棋子 & 2716: [Violet 3]天使玩偶(kdtree)
查看>>
数据仓库与数据挖掘的一些基本概念
查看>>
Android学习系列(23)--App主界面实现
查看>>
jquery validate的漂亮css样式验证
查看>>
OAF_解决OAF与Windows版本不兼容黑屏
查看>>