Toliak

aaa

Jan 24th, 2018
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. var n = readline().split(" ").map(function(x) { return parseInt(x); });
  2. //Кол-во звезд, кол-во просмотров, максимальная яркость
  3. var stars = {};
  4. for (var i=0; i<n[0]; i++) {
  5. var data = readline().split(" ").map(function(x) { return parseInt(x); });
  6. data[0]--; data[1]--;
  7. //x,y, brightness
  8. if (stars[data[0]]===undefined) {
  9. stars[data[0]] = {};
  10. }
  11. stars[data[0]][data[1]] = data[2];
  12. }
  13. print(JSON.stringify(stars));
  14. //aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAaaAAAAAAAAAAAAA
  15. var time_based = []; //суммы
  16. for (var i=0; i<n[2]+1; i++) {
  17. time_based[i] = [];
  18. for (var h=0; h<100; h++) {
  19. if (h===0){
  20. time_based[i][h] = (function() {
  21. a = [];
  22. for (var w=0; w<100; w++){
  23. if (w===0) {
  24. if (stars[h][w]!==undefined) {
  25. a[w] = (stars[h][w]+i)%(n[2]+1);
  26. } else a[w] = 0;
  27. } else {
  28. if (stars[h][w]!==undefined) {
  29. a[w] = (stars[h][w]+i)%(n[2]+1) + a[w-1];
  30. } else a[w] = a[w-1];
  31.  
  32. }
  33. }
  34. return a;
  35. })();
  36. } else { //>.<
  37. time_based[i][h] = (function() {
  38. a = [];
  39. for (var w=0; w<100; w++){
  40. if (w===0) {
  41. if (stars[h]!==undefined && stars[h][w]!==undefined) {
  42. a[w] = (stars[h][w]+i)%(n[2]+1) + time_based[i][h-1][w];
  43. } else a[w] = time_based[i][h-1][w];
  44. } else {
  45. if (stars[h]!==undefined && stars[h][w]!==undefined) {
  46. a[w] = (stars[h][w]+i)%(n[2]+1) + time_based[i][h-1][w] + a[w-1] - time_based[i][h-1][w-1];
  47. } else a[w] = time_based[i][h-1][w] + a[w-1] - time_based[i][h-1][w-1];
  48. }
  49. }
  50. return a;
  51. })();
  52. }
  53.  
  54. }
  55. }
  56.  
  57. for (var i=0; i<n[1]; i++) {
  58. var data = readline().split(" ").map(function(x) { return parseInt(x); });
  59. //time, x1,y1, x2,y2
  60. var x1 = data[1], y1 = data[2], x2 = data[3], y2 = data[4];
  61. data[0] %= (n[2]+1);
  62. x1--;x2--;y1--;y2--;
  63. var dtable = time_based[data[0]]; //матрица суммм ыаышвоаыворашыговаршыгвар
  64. var sum = 0;
  65. if (x1>0 && y1>0) {
  66. sum = dtable[y2][x2] - dtable[x1-1][y2] - dtable[x2][y1-1] + dtable[x1-1][y1-1];
  67. } else if (x1===0 && y1===0) {
  68. sum = dtable[y2][x2];
  69. } else if (x1===0) {
  70. sum = dtable[y2][x2] - dtable[x2][y1-1];
  71. } else if (y1===0) {
  72. sum = dtable[y2][x2] - dtable[x1-1][y2];
  73. }
  74. print(sum);
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment