Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn main() {
- let grid = [
- [01, 02, 03, 04, 05],
- [06, 07, 08, 09, 10],
- [11, 12, 13, 14, 15],
- [16, 07, 08, 09, 20],
- [02, 04, 07, 09, 08],
- ];
- for y in (0..grid.len()).rev() {
- for x in (0..grid[y].len()).rev() {
- let mut rowslice: Vec<u32> = Vec::new();
- let mut colslice: Vec<u32> = Vec::new();
- let mut diagslice: Vec<u32> = Vec::new();
- for i in 0..3 {
- // if y < 2 {
- // if x < 2 {
- // rowslice.push(grid[y][x + i]);
- // colslice.push(grid[y + i][x]);
- // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
- // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
- // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
- // } else {
- // rowslice.push(grid[y][x - i]);
- // colslice.push(grid[y + i][x]);
- // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
- // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
- // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
- // }
- // } else {
- // if x < 2 {
- // rowslice.push(grid[y][x + i]);
- // colslice.push(grid[y - i][x]);
- // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
- // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
- // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
- // } else {
- // rowslice.push(grid[y][x - i]);
- // colslice.push(grid[y - i][x]);
- // println!("{},{},{:?}, {:?}", x, y, rowslice, colslice);
- // println!("product = {:?}", rowslice.iter().fold(1, |acc, j| acc * j));
- // println!("product = {:?}", colslice.iter().fold(1, |acc, j| acc * j));
- // }
- // }
- match (y, x) {
- (4,4)|(4,3)|(4,2)|(3,4)|(3,3)|(3,2)|(2,4)|(2,3)|(2,2) => { rowslice.push(grid[y][x-i]);
- println!("row{}:{:?}", y, rowslice);
- colslice.push(grid[y-i][x]);
- println!("column{}:{:?}", x, colslice);
- diagslice.push(grid[y-i][x-i]);
- println!("diag{}:{}={:?}", x, y, diagslice);
- },
- (1,4)|(1,3)|(1,2)|(0,4)|(0,3)|(0,2) => { rowslice.push(grid[y][x-i]);
- println!("row{}:{:?}", y, rowslice);
- colslice.push(grid[y+i][x]);
- println!("column{}:{:?}", x, colslice);
- diagslice.push(grid[y+i][x-i]);
- println!("diag{}:{}={:?}", x, y, diagslice);
- },
- (4,1)|(4,0)|(3,1)|(3,0)|(2,1)|(2,0) => { rowslice.push(grid[y][x+i]);
- println!("row{}:{:?}", y, rowslice);
- colslice.push(grid[y-i][x]);
- println!("column{}:{:?}", x, colslice);
- diagslice.push(grid[y-i][x+i]);
- println!("diag{}:{}={:?}", x, y, diagslice);
- },
- (1,0)|(1,1)|(0,0)|(0,1) => { rowslice.push(grid[y][x+i]);
- println!("row{}:{:?}", y, rowslice);
- colslice.push(grid[y+i][x]);
- println!("column{}:{:?}", x, colslice);
- diagslice.push(grid[y+i][x+i]);
- println!("diag{}:{}={:?}", x, y, diagslice);
- },
- _ => println!("nuttin")
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment