Guest User

Untitled

a guest
Apr 20th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.91 KB | None | 0 0
  1. fn main() {
  2. let grid = [
  3. [01, 02, 03, 04, 05],
  4. [06, 07, 08, 09, 10],
  5. [11, 12, 13, 14, 15],
  6. [16, 07, 08, 09, 20],
  7. [02, 04, 07, 09, 08],
  8. ];
  9. for y in (0..grid.len()).rev() {
  10. for x in (0..grid[y].len()).rev() {
  11. let mut rowslice: Vec<u32> = Vec::new();
  12. let mut colslice: Vec<u32> = Vec::new();
  13. let mut diagslice: Vec<u32> = Vec::new();
  14. for i in 0..3 {
  15. // if y < 2 {
  16. // if x < 2 {
  17. // rowslice.push(grid[y][x + i]);
  18. // colslice.push(grid[y + i][x]);
  19. // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
  20. // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
  21. // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
  22. // } else {
  23. // rowslice.push(grid[y][x - i]);
  24. // colslice.push(grid[y + i][x]);
  25. // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
  26. // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
  27. // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
  28. // }
  29. // } else {
  30. // if x < 2 {
  31. // rowslice.push(grid[y][x + i]);
  32. // colslice.push(grid[y - i][x]);
  33. // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
  34. // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
  35. // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
  36. // } else {
  37. // rowslice.push(grid[y][x - i]);
  38. // colslice.push(grid[y - i][x]);
  39. // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
  40. // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
  41. // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
  42. // }
  43. // }
  44. match (y, x) {
  45. (4,4)|(4,3)|(4,2)|(3,4)|(3,3)|(3,2)|(2,4)|(2,3)|(2,2) => { rowslice.push(grid[y][x-i]);
  46. println!("row{}:{:?}", y, rowslice);
  47. colslice.push(grid[y-i][x]);
  48. println!("column{}:{:?}", x, colslice);
  49. diagslice.push(grid[y-i][x-i]);
  50. println!("diag{}:{}={:?}", x, y, diagslice);
  51. },
  52. (1,4)|(1,3)|(1,2)|(0,4)|(0,3)|(0,2) => { rowslice.push(grid[y][x-i]);
  53. println!("row{}:{:?}", y, rowslice);
  54. colslice.push(grid[y+i][x]);
  55. println!("column{}:{:?}", x, colslice);
  56. diagslice.push(grid[y+i][x-i]);
  57. println!("diag{}:{}={:?}", x, y, diagslice);
  58. },
  59. (4,1)|(4,0)|(3,1)|(3,0)|(2,1)|(2,0) => { rowslice.push(grid[y][x+i]);
  60. println!("row{}:{:?}", y, rowslice);
  61. colslice.push(grid[y-i][x]);
  62. println!("column{}:{:?}", x, colslice);
  63. diagslice.push(grid[y-i][x+i]);
  64. println!("diag{}:{}={:?}", x, y, diagslice);
  65. },
  66. (1,0)|(1,1)|(0,0)|(0,1) => { rowslice.push(grid[y][x+i]);
  67. println!("row{}:{:?}", y, rowslice);
  68. colslice.push(grid[y+i][x]);
  69. println!("column{}:{:?}", x, colslice);
  70. diagslice.push(grid[y+i][x+i]);
  71. println!("diag{}:{}={:?}", x, y, diagslice);
  72. },
  73. _ => println!("nuttin")
  74. }
  75. }
  76. }
  77. }
  78. }
Add Comment
Please, Sign In to add comment