diff options
Diffstat (limited to '2022/08/common.rs')
| -rw-r--r-- | 2022/08/common.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/2022/08/common.rs b/2022/08/common.rs new file mode 100644 index 0000000..45fbf10 --- /dev/null +++ b/2022/08/common.rs | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | pub type Grid = Vec<Vec<(i8, bool)>>; | ||
| 2 | |||
| 3 | pub fn read_grid_from_stdin() -> Grid { | ||
| 4 | let mut grid = Vec::<Vec<(i8, bool)>>::new(); | ||
| 5 | let mut line = String::new(); | ||
| 6 | while std::io::stdin().read_line(&mut line).unwrap() > 0 { | ||
| 7 | let row = line[..line.len()-1].as_bytes().iter() | ||
| 8 | .map(|b| ((*b as i8) - ('0' as i8), false)).collect(); | ||
| 9 | grid.push(row); | ||
| 10 | line.clear(); | ||
| 11 | } | ||
| 12 | grid | ||
| 13 | } | ||
