Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. const readline = require('readline');
  2.  
  3. const rl = readline.createInterface({
  4. input: process.stdin,
  5. output: process.stdout
  6. });
  7.  
  8. var c = [,,];
  9. var d = 0;
  10. var r = {}; // Результат
  11.  
  12. rl.on('line', function(answer) {
  13. c[d] = answer.substring(1, answer.length - 1).split(',');
  14. c[d] = c[d].map(function(s) {
  15. return parseInt(s.trim());
  16. });
  17. d++;
  18. if (d === 3) {
  19. count(c);
  20. console.log(r);
  21. process.exit();
  22. }
  23. });
  24.  
  25. function nums(c, i, j, k) {
  26. return [[c[0][i % c[0].length],
  27. c[1][j % c[1].length],
  28. c[2][k % c[2].length]],
  29. [c[0][(i + 1) % c[0].length],
  30. c[1][(j + 1) % c[1].length],
  31. c[2][(k + 1) % c[2].length]],
  32. [c[0][(i + 2) % c[0].length],
  33. c[1][(j + 2) % c[1].length],
  34. c[2][(k + 2) % c[2].length]]];
  35. }
  36.  
  37. function points(a) {
  38. var res = 0;
  39. for (var i = 0; i < a.length; i++) {
  40. var t = 1;
  41. var g = 1;
  42. for (var j = 1; j < a.length; j++) {
  43. if (a[i][j] !== a[i][j - 1]) {
  44. t = 0;
  45. }
  46. if (a[j][i] !== a[j - 1][i]) {
  47. g = 0;
  48. }
  49. }
  50. res += t * a[i][0] + g * a[0][i];
  51. }
  52. t = 1;
  53. g = 1;
  54. for (i = 1; i < a.length; i++) {
  55. if (a[i][i] !== a[i - 1][i - 1]) {
  56. t = 0;
  57. }
  58. if (a[i][a.length - i - 1] !== a[i - 1][a.length - i]) {
  59. g = 0;
  60. }
  61. }
  62. return res + t * a[0][0] + g * a[0][a.length - 1];
  63. }
  64.  
  65. function count(c) {
  66. for (var i = 0; i < c[0].length; i++) {
  67. for (var j = 0; j < c[1].length; j++) {
  68. for (var k = 0; k < c[2].length; k++) {
  69. var p = points(nums(c, i, j, k));
  70. if (r[p] === undefined) {
  71. r[p] = [];
  72. }
  73. r[p][r[p].length] = [i, j, k];
  74. }
  75. }
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement