fork download
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int size;
  9. cin >> size;
  10.  
  11. unsigned int* a = new unsigned int[size / 16]; // <- input tab to encrypt
  12. unsigned int* b = new unsigned int[size / 16]; // <- output tab
  13.  
  14. for (int i = 0; i < size / 16; i++)
  15. { // Read size / 16 integers to a
  16. cin >> hex >> a[i];
  17. }
  18.  
  19. for(int i = 0; i < 32; i++ )
  20. {
  21. cout << a[i] << " " << endl;
  22. }
  23.  
  24. for (int i = 0; i < size / 16; i++)
  25. { // Write size / 16 zeros to b
  26. b[i] = 0;
  27. }
  28.  
  29. for (int i = 0; i < size; i++)
  30. for (int j = 0; j < size; j++)
  31. b[(i + j) / 32] ^= ( (a[i / 32] >> (i % 32)) &
  32. (a[j / 32 + size / 32] >> (j % 32)) & 1 ) << ((i + j) % 32); // Magic centaurian operation
  33.  
  34. for(int i = 0; i < size / 16; i++)
  35. cout << hex << b[i] << " "; // print result
  36.  
  37. /*
  38.   Good luck humans
  39.  */
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5224KB
stdin
128
541a4231 5d324646 27219a26 12497b0e 724eddcb 0e131617 9521bedf 55544dc7
stdout
1411007025 
1563575878 
656513574 
306805518 
1917771211 
236131863 
2502016735 
1431588295 
0 
0 
49 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
4113 
0 
856301616 
825635120 
168435760 
0 
0 
0 
0 
0 
e0cfee1b 7b9cb05c c5e1c5ef 45ed8e23 bd0564c 35009149 7a9a02a6 5e85e5e