finished day 8
This commit is contained in:
		
							parent
							
								
									6596b48113
								
							
						
					
					
						commit
						4a894a7b95
					
				|  | @ -2,35 +2,41 @@ import sys | |||
| 
 | ||||
| def isVisible(lines, row, col): | ||||
|     scenic = 1 | ||||
| 
 | ||||
|     # up | ||||
|     score1 = 0 | ||||
|     for x in lines[:row:-1]: | ||||
|     for x in lines[:row][::-1]: | ||||
|         score1 += 1 | ||||
|         if ( x[col] >= lines[row][col]): | ||||
|             break | ||||
|         score1 += 1 | ||||
|     scenic *= score1 | ||||
| 
 | ||||
|     score2 = 0 | ||||
|     for x in lines[row+1:]: | ||||
|         if ( x[col] >= lines[row][col]): | ||||
|             break | ||||
|         score2 += 1 | ||||
|     scenic *= score2 | ||||
| 
 | ||||
|     # left | ||||
|     score3 = 0 | ||||
|     for x in lines[row][:col:-1]: | ||||
|     for x in lines[row][:col-1][::-1]: | ||||
|         score3 += 1 | ||||
|         if ( x >= lines[row][col]): | ||||
|             break | ||||
|         score3 += 1 | ||||
|     scenic *= score3 | ||||
| 
 | ||||
|     # right | ||||
|     score4 = 0 | ||||
|     for x in lines[row][col:]: | ||||
|     for x in lines[row][col+1:]: | ||||
|         score4 += 1 | ||||
|         if ( x >= lines[row][col]): | ||||
|             break | ||||
|         score4 += 1 | ||||
|     scenic *= score4 | ||||
| 
 | ||||
|     print(row, col, score1, score2, score3, score4, scenic) | ||||
|     # down | ||||
|     score2 = 0 | ||||
|     for x in lines[row:]: | ||||
|         score2 += 1 | ||||
|         if ( x[col] >= lines[row][col]): | ||||
|             break | ||||
|     scenic *= score2 | ||||
| 
 | ||||
| 
 | ||||
|     print(row, col, "|", score1, score2, score3, score4, "|", scenic) | ||||
|     return scenic | ||||
| 
 | ||||
| with open(sys.argv[1], "r") as file: | ||||
|  |  | |||
							
								
								
									
										40
									
								
								2022/day08/main3.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								2022/day08/main3.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | |||
| import sys | ||||
| 
 | ||||
| def isVisible(lines, row, col): | ||||
|     scenic = 1 | ||||
|     score = [1,2,3,4] | ||||
|     score[0] = [x[col] < lines[row][col] for x in lines[:row][::-1]] | ||||
|     score[1] = [x[col] < lines[row][col] for x in lines[row+1:]] | ||||
|     score[2] = [x < lines[row][col] for x in lines[row][:col][::-1]] | ||||
|     score[3] = [x < lines[row][col] for x in lines[row][col+1:]] | ||||
| 
 | ||||
| 
 | ||||
|     for a in score: | ||||
|         # print(a) | ||||
|         dist = 0 | ||||
|         if (len(a) == 0): | ||||
|             dist = 0 | ||||
|         elif (all(a)): | ||||
|             dist = len(a) | ||||
|         else: | ||||
|             dist = a.index(False) + 1 | ||||
|         # print(dist) | ||||
|         scenic *= dist | ||||
| 
 | ||||
|     print(row, col, "|", scenic) | ||||
|     return scenic | ||||
| 
 | ||||
| with open(sys.argv[1], "r") as file: | ||||
|     lines = file.readlines() | ||||
|     for a in range(len(lines)): | ||||
|         lines[a] = lines[a].rstrip() | ||||
|         # a = a.rstrip() | ||||
| 
 | ||||
|     best=0 | ||||
|     for row in range(len(lines)): | ||||
|         for col in range(len(lines[0])): | ||||
|             # print(lines[row][col], end="") | ||||
|             yes = isVisible(lines, row, col) | ||||
|             best = max(best, yes) | ||||
| 
 | ||||
|     print(best) | ||||
		Loading…
	
		Reference in a new issue