hdu 4364(矩阵相乘)
来源:互联网 发布:虚拟定位ios软件 编辑:程序博客网 时间:2024/06/05 19:42
题意:给你一个aes矩阵和另一个矩阵matri让这两个矩阵相乘,我们重新定义矩阵相乘:
1.相加用xor代替。
2.相乘要看aes中的值,
if 1: matri中的值不变。
if 2: matri中的值左移一位。
if 3: matri中的值左移一位,然后和左移前的值xor.
Notice:After each shifting, a conditional xor with 0x1B should be performed if the shifted value is larger than 0xFF.(这句话太坑爹了!!!)
这句话的大意是:如果左移后值大于0xFF,与0x1B xor,并对(0xFF + 1)取余。
1.相加用xor代替。
2.相乘要看aes中的值,
if 1: matri中的值不变。
if 2: matri中的值左移一位。
if 3: matri中的值左移一位,然后和左移前的值xor.
Notice:After each shifting, a conditional xor with 0x1B should be performed if the shifted value is larger than 0xFF.(这句话太坑爹了!!!)
这句话的大意是:如果左移后值大于0xFF,与0x1B xor,并对(0xFF + 1)取余。
思路:直接模拟。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int ans[5][5]={{2,3,1,1},{1,2,3,1},{1,1,2,3},{3,1,1,2}};int matrix[5][5];int a[5][5];void multi()//矩阵乘法{ for(int i=0;i<4;i++)//A的行 { for(int j=0;j<4;j++)//A,B的列 { for(int k=0;k<4;k++)//B的行 { int t=matrix[k][j]; t<<=1;//左移一位 if(t>0xFF)//225 t=(t^0x1B)%(0xFF+1); if(ans[i][k]==1) { a[i][j]^=matrix[k][j]; } else if(ans[i][k]==2) { a[i][j]^=t; } else if(ans[i][k]==3) { t^=matrix[k][j]; a[i][j]^=t; } } } }}int main(){ int cas; scanf("%d",&cas); while(cas--) { memset(a,0,sizeof(a)); for(int i=0;i<4;i++) for(int j=0;j<4;j++) scanf("%X",&matrix[i][j]);//输入 multi(); for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { if(j!=0) cout<<' '; printf("%02X",a[i][j]);//大写十六进制,2位,不够前面补0 } puts(""); } if(cas != 0) puts(""); } return 0;}
- hdu 4364(矩阵相乘)
- hdu 4920 矩阵相乘
- hdu 1005 矩阵相乘求解
- HDU 4920 稀疏矩阵相乘
- hdu 2807 矩阵相乘+弗洛伊德
- Hdu 2807 The Shortest Path 矩阵相乘
- hdu 4920 Matrix multiplication (矩阵相乘)
- HDU 4920 Matrix multiplication(矩阵相乘)
- 【HDU】4920 - Matrix multiplication(矩阵相乘)
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 正则表达式 入门之道
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
- HTML学习:HTML的标签总结(一)
- 关于Table的边框显示
- BEIH/F:总线枚举接口劫持/伪造
- hdu 4364(矩阵相乘)
- 【面试】字符串专题
- 使用Eclipse Memory Analyzer(MAT)解决Java Web应用故障
- UITableView 基本使用方法
- 黑马程序员——JAVA(反射,内省)
- 【转载】#、##操作符,__VA_ARGS__
- Table 显示大全
- 深度解析VC中的消息传递机制
- hdoj 1205 吃糖果