HDU4364(模拟矩阵乘法)
生活随笔
收集整理的這篇文章主要介紹了
HDU4364(模拟矩阵乘法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:Matrix operation
?
本題就是直接模擬矩陣乘法即可,主要是這里對十六進制的處理有技巧。
#include <iostream> #include <string.h> #include <stdio.h>using namespace std;int a[4][4]; int ans[4][4]; int x[4][4]= {0x2,0x3,0x1,0x1,0x1,0x2,0x3,0x1,0x1,0x1,0x2,0x3,0x3,0x1,0x1,0x2 };int main() {int i,j,t,k,tmp,tt=1;cin>>t;while(t--){if(tt>1) puts("");tt++;for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%X",&a[i][j]);for(i=0;i<4;i++){for(j=0;j<4;j++){ans[i][j]=0;for(k=0;k<4;k++){if(x[i][k]==0x1) tmp=a[k][j];if(x[i][k]==0x2||x[i][k]==0x3){tmp=a[k][j]<<1;if(tmp>0xFF) tmp^=0x1B;tmp%=256;}if(x[i][k]==0x3)tmp^=a[k][j];ans[i][j]^=tmp;}}}for(i=0;i<4;i++){for(j=0;j<4;j++){printf("%02X",ans[i][j]);if(j!=3) cout<<" ";}cout<<endl;}}return 0; }
?
總結
以上是生活随笔為你收集整理的HDU4364(模拟矩阵乘法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 素数与线性筛选法初级版
- 下一篇: HDU4367(线段相交与斐波那契数列)