aboutsummaryrefslogtreecommitdiff
path: root/4
blob: 92a653b9e81b2e58eec3bedf05cfdaf4ebb4304f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh -eu
p1() (
	sum=0
	while IFS= read -r l
	do
		r1=$(printf "$l" | cut -d',' -f1)
		r2=$(printf "$l" | cut -d',' -f2)
		x1=$(printf "$r1" | cut -d'-' -f1)
		y1=$(printf "$r1" | cut -d'-' -f2)
		x2=$(printf "$r2" | cut -d'-' -f1)
		y2=$(printf "$r2" | cut -d'-' -f2)
		if ([ $x1 -le $x2 ] && [ $y1 -ge $y2 ]) || ([ $x2 -le $x1 ] && [ $y2 -ge $y1 ])
		then
			sum=$((sum + 1))
		fi
	done < input.txt
	printf "%s\n" "$sum"
)

p2() (
	sum=0
	while IFS= read -r l
	do
		r1=$(printf "$l" | cut -d',' -f1)
		r2=$(printf "$l" | cut -d',' -f2)
		x1=$(printf "$r1" | cut -d'-' -f1)
		y1=$(printf "$r1" | cut -d'-' -f2)
		x2=$(printf "$r2" | cut -d'-' -f1)
		y2=$(printf "$r2" | cut -d'-' -f2)
		if ([ $y1 -ge $x2 ] && [ $x1 -le $y2 ]) || ([ $y2 -ge $x1 ] && [ $x2 -le $y1 ])
		then
			sum=$((sum + 1))
		fi
	done < input.txt
	printf "%s\n" "$sum"
)

p1
p2