Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Matrix multiplication naive approach
//g++ 5.4.0 #include <iostream> int main() { uint32_t n, i, j, d1, p1, r1, m1, d2, p2, m2, r2; std::cin>>n>>p1>>d1>>r1>>m1>>p2>>d2>>r2>>m2; uint64_t C[n][n], V[n]; uint32_t A[n][n], B[n][n]; //here you need to read n, p1, d1, r1, m1, p2, d2, r2, m2 from input. for (i=0; i<n; ++i) for (j=0; j<n; ++j) { d1 = d1 * p1 + r1; d2 = d2 * p2 + r2; A[i][j] = d1 >> (32 - m1); B[i][j] = d2 >> (32 - m2); } for (i=0; i<n; ++i) for (j=0; j<n; ++j) { C[i][j] = 0; for (int k=0; k<n; k++) { C[i][j] += A[i][k]*B[k][j]; } } for (i=0; i<n; ++i) { V[i] = 0; for (j=0; j<n; ++j){ V[i] ^= C[i][j]; } } for (i=0; i<n; ++i) { std::cout<<V[i]<<std::endl; } }
run
|
edit
|
history
|
help
0
PalindromeDay
runtime template mode processor
CPP - Arrays - Ex.2
LIS_NEW
Following order Indegree
at.cpp
mur1
ExceptionHandling3
Korelacja Pearsona lol
Kth smallest element