Frans Bergman 2 жил өмнө
parent
commit
4f8c5a1c1b
2 өөрчлөгдсөн 1029 нэмэгдсэн , 0 устгасан
  1. 1000 0
      4.input
  2. 29 0
      4.rb

+ 1000 - 0
4.input

@@ -0,0 +1,1000 @@
+71-87,70-88
+8-92,6-97
+7-68,8-69
+47-47,47-48
+74-94,51-93
+48-63,48-49
+26-57,57-58
+62-63,11-76
+16-66,15-47
+27-65,27-62
+19-81,19-81
+19-19,18-18
+4-5,5-15
+75-84,39-75
+96-96,20-83
+1-59,28-60
+13-14,14-88
+15-96,96-99
+4-64,1-4
+22-95,42-95
+52-53,52-78
+58-75,63-67
+25-75,63-76
+10-19,9-37
+46-81,65-65
+4-61,5-62
+66-66,67-67
+45-82,83-96
+74-96,95-96
+41-98,41-99
+22-92,21-92
+22-29,1-32
+85-86,36-84
+21-21,22-90
+13-83,15-82
+75-75,41-75
+78-78,1-78
+14-93,14-48
+58-87,58-58
+16-87,88-90
+23-64,24-58
+2-71,1-2
+31-52,53-70
+65-95,66-96
+5-42,4-41
+1-79,2-80
+4-71,36-72
+94-95,4-94
+23-89,24-79
+8-53,32-53
+51-59,30-59
+13-55,13-55
+13-72,46-71
+9-78,8-9
+57-74,56-69
+91-91,91-91
+8-31,4-31
+39-54,36-85
+7-35,6-65
+5-83,8-80
+5-93,5-95
+44-53,52-52
+11-94,10-93
+1-6,7-99
+42-61,33-61
+7-29,8-80
+4-5,5-31
+42-42,43-83
+43-81,63-82
+6-96,98-99
+22-83,7-86
+19-83,18-60
+39-40,40-41
+6-99,5-5
+16-94,16-94
+51-53,23-52
+4-84,4-83
+8-67,67-68
+3-85,2-3
+21-50,44-48
+42-85,43-86
+19-69,20-70
+15-15,15-86
+70-78,71-78
+12-46,45-88
+33-87,32-90
+21-90,20-94
+4-99,3-3
+50-87,4-91
+3-91,3-4
+9-41,9-42
+41-54,40-54
+46-46,10-45
+59-87,58-78
+72-97,71-71
+1-87,87-88
+32-33,31-80
+29-97,98-99
+73-75,74-76
+41-93,30-92
+1-82,15-49
+13-41,14-42
+19-39,39-40
+8-92,34-92
+10-49,11-94
+19-81,11-82
+95-98,25-95
+16-89,2-16
+51-85,52-68
+19-95,18-53
+1-14,1-15
+25-25,25-28
+14-35,14-15
+31-66,32-67
+20-93,19-69
+68-82,68-82
+17-69,68-71
+4-84,5-83
+1-76,4-77
+3-92,39-94
+95-97,30-88
+51-98,71-98
+29-74,75-99
+12-19,14-19
+27-99,26-99
+17-77,16-75
+1-2,3-38
+38-38,37-99
+13-45,14-46
+25-93,26-94
+88-90,88-91
+40-57,39-56
+23-23,24-67
+28-92,94-99
+1-71,1-71
+41-96,40-95
+4-97,3-98
+9-25,4-24
+70-71,70-70
+14-54,13-39
+10-40,10-40
+63-87,16-82
+41-94,40-57
+60-90,61-91
+14-92,14-15
+6-92,16-91
+21-77,21-77
+70-71,59-70
+19-69,61-69
+97-97,4-98
+12-79,12-80
+15-86,86-89
+49-67,19-66
+63-91,92-94
+6-98,5-98
+15-15,15-68
+9-17,17-97
+5-87,4-87
+3-96,14-84
+21-83,21-82
+1-92,92-92
+1-37,5-38
+17-93,11-98
+38-66,21-67
+1-65,2-66
+7-91,6-48
+2-29,3-30
+36-79,7-84
+78-79,75-79
+69-83,79-83
+34-67,39-68
+2-93,92-93
+7-53,5-7
+90-91,18-90
+73-93,55-74
+24-81,98-98
+2-76,18-71
+28-94,94-94
+13-14,9-13
+40-64,41-63
+89-98,1-87
+87-98,71-97
+31-53,32-67
+14-32,15-32
+11-96,37-61
+69-70,69-89
+22-32,15-46
+33-47,47-87
+4-6,7-73
+26-70,1-71
+5-91,1-90
+6-55,5-54
+5-71,4-5
+55-86,54-70
+13-33,34-34
+53-93,93-99
+31-96,31-99
+47-72,46-71
+54-73,53-98
+44-92,45-72
+1-10,11-17
+53-77,53-96
+52-74,53-75
+30-95,30-98
+3-58,58-58
+32-92,32-33
+2-3,3-33
+25-43,20-42
+10-80,65-81
+5-97,6-98
+37-41,36-53
+57-79,78-88
+24-89,23-89
+97-97,70-96
+40-69,40-70
+10-90,89-92
+42-86,43-87
+26-84,27-85
+15-15,16-99
+7-68,67-67
+3-97,1-96
+1-98,4-95
+2-99,2-99
+66-66,12-66
+57-89,90-93
+18-93,32-88
+37-77,37-76
+74-74,60-74
+4-83,7-73
+17-98,18-99
+1-82,5-60
+73-89,4-55
+15-81,3-15
+51-93,74-93
+16-18,17-37
+69-69,69-99
+30-97,30-31
+16-80,5-85
+2-13,3-14
+76-95,34-85
+35-83,82-83
+14-15,15-85
+5-93,7-66
+24-71,42-90
+23-36,9-35
+31-79,31-79
+15-71,53-72
+69-73,68-75
+3-89,3-89
+14-81,67-98
+82-87,86-93
+67-69,68-68
+7-78,7-7
+2-85,3-85
+16-72,16-71
+2-98,1-1
+28-31,27-43
+88-93,58-68
+13-88,3-12
+17-91,18-98
+91-99,65-99
+1-60,8-42
+16-84,16-88
+10-49,50-50
+20-21,20-71
+59-85,59-85
+53-62,61-76
+18-53,51-51
+65-94,15-66
+17-72,40-68
+53-76,21-75
+54-96,96-96
+2-17,17-17
+73-93,29-94
+1-5,4-59
+1-98,1-97
+12-77,12-81
+84-97,84-85
+1-77,43-78
+45-91,45-90
+69-94,36-44
+11-97,10-94
+6-70,6-65
+42-56,8-41
+48-54,45-55
+23-88,24-88
+28-92,69-95
+9-15,8-13
+46-81,74-82
+66-88,8-67
+24-32,33-33
+12-90,11-93
+28-56,27-55
+33-56,33-34
+40-85,44-86
+15-70,2-15
+71-90,68-80
+14-93,12-96
+4-96,3-95
+18-18,17-32
+78-79,46-78
+4-62,62-63
+59-84,5-59
+15-24,15-16
+24-84,14-91
+19-92,10-46
+3-4,4-72
+21-90,18-21
+95-98,58-83
+19-97,14-99
+5-97,4-98
+21-78,20-93
+14-15,14-98
+54-60,53-67
+8-40,40-89
+29-70,30-71
+9-9,8-8
+90-98,89-89
+69-98,98-99
+3-91,3-4
+10-94,11-95
+59-83,48-83
+1-5,5-95
+91-97,37-92
+14-96,14-88
+2-86,86-89
+8-40,39-40
+52-80,53-80
+57-81,33-85
+24-89,23-25
+36-65,18-65
+3-58,2-54
+74-90,31-74
+11-94,11-12
+21-70,22-71
+19-72,20-73
+33-34,34-94
+30-96,79-96
+5-92,4-5
+23-84,24-82
+32-33,34-76
+13-64,13-14
+38-41,42-70
+24-86,76-92
+61-70,11-70
+48-95,49-96
+77-83,83-95
+13-63,14-64
+7-52,51-53
+42-61,43-51
+67-93,66-93
+4-23,24-24
+13-14,13-13
+41-93,42-92
+14-79,13-78
+64-83,78-82
+2-89,5-89
+19-19,18-18
+58-76,47-76
+88-97,4-89
+65-74,65-66
+39-97,40-50
+74-98,75-97
+14-15,14-67
+13-95,12-94
+12-79,13-79
+11-68,12-69
+57-87,86-86
+7-21,6-82
+76-83,25-77
+7-10,5-12
+98-98,8-99
+2-93,3-94
+5-13,4-12
+78-81,78-80
+98-99,11-99
+52-67,53-66
+86-86,82-87
+4-65,4-65
+60-96,59-95
+7-87,8-94
+53-88,87-93
+4-10,3-69
+2-21,21-65
+10-35,2-9
+3-56,4-6
+65-99,64-99
+22-95,43-96
+37-75,36-86
+60-92,16-45
+33-81,99-99
+2-49,48-48
+44-99,44-99
+8-79,78-80
+81-90,1-82
+98-99,28-99
+44-98,43-88
+48-78,30-98
+45-91,46-99
+3-91,3-91
+90-90,23-91
+24-75,30-75
+10-75,11-59
+10-43,11-44
+21-31,20-21
+2-2,3-97
+51-51,51-51
+22-67,67-67
+94-97,95-99
+98-98,63-97
+92-93,92-93
+7-88,7-89
+67-93,67-68
+48-92,47-91
+13-83,83-85
+6-7,6-79
+34-92,35-92
+39-42,35-41
+44-95,57-96
+8-61,7-7
+39-39,34-39
+28-57,28-57
+33-39,32-32
+15-15,15-72
+29-92,28-91
+76-87,85-96
+15-37,8-14
+39-54,39-40
+7-48,6-48
+55-75,51-74
+16-78,16-79
+34-34,35-84
+7-61,8-62
+80-92,31-50
+37-41,40-56
+3-82,82-99
+14-74,15-30
+91-91,18-91
+10-97,98-99
+76-96,76-77
+17-97,98-98
+24-89,23-24
+14-90,15-91
+89-98,90-99
+55-64,54-70
+17-99,18-98
+4-4,3-84
+42-99,43-61
+99-99,4-89
+21-86,22-86
+79-96,37-79
+99-99,36-96
+67-79,69-80
+27-55,27-28
+27-77,54-64
+99-99,18-95
+17-96,18-96
+15-45,14-45
+28-30,27-47
+61-83,82-84
+39-47,41-44
+57-95,94-94
+22-42,21-46
+6-75,75-75
+6-97,1-97
+26-49,27-50
+54-96,54-96
+63-87,46-86
+21-70,69-71
+61-90,89-91
+81-87,60-81
+5-94,6-6
+6-85,10-84
+37-40,36-39
+74-76,75-77
+9-96,99-99
+20-20,21-49
+1-2,2-89
+17-59,58-99
+20-91,20-91
+79-91,79-87
+51-92,91-93
+90-96,9-91
+72-82,43-98
+55-99,54-55
+3-20,6-81
+26-98,26-97
+7-97,7-8
+26-71,19-70
+24-60,97-98
+90-91,33-91
+12-69,11-68
+16-34,4-15
+8-24,18-25
+92-97,3-87
+44-96,96-96
+10-51,9-58
+3-62,4-63
+10-68,2-69
+21-85,85-86
+26-26,14-25
+46-87,1-99
+47-85,48-66
+15-89,89-98
+86-86,85-85
+45-62,52-63
+10-93,87-90
+19-83,21-30
+22-87,88-94
+27-96,28-96
+77-80,19-77
+4-22,21-21
+19-97,20-84
+43-94,22-95
+69-69,10-69
+1-94,1-94
+72-90,79-91
+16-16,17-67
+11-12,11-51
+94-96,12-65
+33-91,32-97
+38-38,30-38
+47-49,48-51
+92-96,18-92
+6-89,6-7
+32-32,33-37
+11-98,98-99
+13-38,38-39
+66-67,61-66
+81-83,4-82
+15-95,5-95
+82-99,13-97
+98-98,70-98
+16-19,12-20
+3-96,2-96
+25-70,26-71
+66-73,1-72
+4-79,69-78
+14-88,13-87
+89-91,26-90
+12-80,3-11
+42-91,90-92
+19-20,20-82
+89-91,33-90
+45-85,2-92
+43-90,91-96
+43-77,43-90
+12-94,19-95
+89-90,38-89
+95-98,96-98
+11-18,17-69
+3-52,1-4
+7-53,52-81
+61-72,66-73
+4-69,37-69
+29-94,30-75
+32-94,56-95
+1-98,3-94
+94-94,74-94
+13-70,14-85
+4-52,25-53
+65-91,83-87
+7-10,11-11
+31-32,39-77
+35-58,36-48
+28-66,27-76
+56-56,57-67
+13-64,13-64
+34-75,33-44
+2-88,1-99
+14-51,51-69
+14-75,10-89
+31-92,40-44
+32-41,42-89
+87-98,16-95
+49-50,50-91
+66-74,38-95
+74-75,74-88
+18-80,19-85
+1-98,1-98
+83-87,8-84
+58-91,52-92
+1-70,1-99
+18-40,12-18
+9-25,9-24
+31-73,17-83
+43-46,42-45
+3-5,4-83
+14-70,29-55
+1-76,62-77
+4-18,5-18
+72-97,71-71
+69-69,5-69
+92-94,73-93
+63-94,64-93
+32-69,13-69
+25-81,26-82
+18-66,5-92
+32-34,8-33
+5-46,4-88
+41-83,12-41
+35-63,51-63
+15-87,15-90
+18-82,17-18
+19-41,18-20
+10-93,10-10
+30-71,50-70
+10-64,9-72
+76-77,5-77
+59-59,59-59
+3-54,2-72
+7-8,7-25
+74-79,74-92
+9-9,10-55
+6-94,58-94
+27-86,60-86
+17-99,14-98
+23-26,21-25
+5-85,4-6
+60-86,20-85
+52-91,92-94
+74-74,45-75
+2-4,3-95
+67-93,47-93
+95-98,95-98
+93-93,50-93
+82-83,18-82
+6-97,5-7
+7-98,8-99
+24-63,12-64
+16-57,15-56
+1-92,1-96
+51-81,84-91
+2-88,1-1
+34-34,35-70
+91-98,9-67
+51-94,2-79
+5-99,6-98
+32-92,32-92
+4-69,3-3
+65-83,64-84
+63-65,11-64
+58-58,50-60
+21-88,74-86
+40-76,40-55
+47-49,16-48
+76-76,35-76
+52-72,71-71
+7-59,6-58
+2-84,1-3
+32-99,22-96
+8-23,8-22
+11-11,11-47
+29-29,30-85
+89-92,87-91
+12-36,12-37
+2-91,50-97
+12-34,29-35
+75-88,20-75
+7-88,7-7
+25-35,6-36
+35-41,34-87
+68-72,28-78
+12-99,1-98
+16-76,2-75
+6-75,7-76
+6-97,5-99
+4-98,4-97
+1-2,1-99
+3-91,91-92
+41-87,6-88
+40-61,9-79
+7-93,7-92
+71-72,72-85
+24-94,23-23
+42-90,89-90
+3-76,33-77
+55-58,56-59
+40-87,88-98
+16-16,17-99
+40-98,92-99
+33-39,23-38
+21-60,15-59
+40-44,40-44
+81-84,85-85
+33-96,40-67
+15-93,91-94
+82-83,81-95
+20-90,90-91
+37-58,38-58
+47-47,46-59
+3-71,2-2
+37-73,72-73
+12-86,86-87
+15-26,4-27
+21-22,21-31
+78-92,30-93
+2-85,2-85
+92-92,6-93
+15-79,80-80
+56-56,55-60
+14-61,61-79
+4-51,51-52
+8-8,7-7
+47-52,22-53
+41-85,77-85
+56-81,19-78
+78-88,62-87
+40-96,44-95
+56-58,28-58
+7-70,6-69
+8-44,8-9
+36-84,13-35
+67-93,77-93
+6-87,5-5
+59-86,9-60
+35-48,35-53
+81-96,82-97
+11-49,1-10
+14-14,15-27
+28-68,90-92
+46-46,47-61
+66-66,66-98
+1-40,2-40
+68-85,50-88
+25-25,26-97
+30-56,36-57
+40-96,39-97
+23-99,23-24
+88-97,61-88
+24-26,23-67
+92-99,93-93
+15-66,14-16
+13-76,12-75
+25-44,19-25
+6-13,9-14
+24-24,12-24
+10-98,99-99
+26-98,26-72
+2-47,2-47
+27-87,27-51
+40-89,41-74
+1-92,91-92
+8-99,7-98
+68-85,13-68
+71-93,70-70
+63-84,8-89
+17-73,85-85
+48-80,48-48
+73-91,94-99
+54-72,2-42
+15-78,15-78
+27-62,28-40
+10-60,12-60
+11-92,11-99
+7-7,8-97
+5-54,4-5
+9-85,84-84
+36-83,52-82
+1-92,1-2
+55-70,56-71
+35-36,36-92
+27-60,60-79
+1-95,1-97
+11-89,10-10
+24-90,42-83
+2-96,2-2
+25-88,97-99
+3-96,4-97
+22-88,22-23
+4-4,5-77
+5-54,55-90
+40-44,19-43
+4-60,3-94
+22-93,22-93
+9-83,24-83
+14-91,15-84
+1-82,1-84
+70-70,70-90
+29-87,87-93
+26-46,27-46
+10-70,8-10
+5-96,9-94
+18-84,18-85
+45-81,13-45
+35-77,35-78
+8-62,63-67
+14-84,17-72
+75-93,75-76
+33-99,30-32
+32-37,31-43
+29-29,30-52
+96-96,27-64
+68-70,65-70
+74-87,3-73
+1-71,1-1
+1-38,38-58
+61-61,34-61
+11-97,12-64
+1-98,3-98
+5-58,6-59
+22-59,58-84
+44-68,43-63
+18-53,52-52
+23-38,24-39
+79-96,30-80
+4-97,3-99
+1-85,1-85
+19-19,20-55
+28-73,29-29
+5-69,3-89
+30-30,31-85
+27-81,28-92
+37-65,36-69
+4-93,93-93
+42-42,43-55
+11-97,22-98
+4-90,5-68
+41-65,10-65
+20-80,21-21
+9-85,10-53
+13-89,13-88
+99-99,85-96
+98-98,11-97
+29-30,10-29
+76-90,73-78
+14-76,77-93
+60-70,59-75
+20-53,19-52
+65-66,1-65
+45-52,52-53
+13-84,18-84
+11-42,11-24
+14-47,5-15
+37-37,19-38
+34-43,42-42
+75-87,74-86
+23-64,22-23
+29-92,36-93
+7-98,7-8
+1-2,1-2
+3-92,3-92
+10-63,15-62
+4-96,3-95
+30-85,42-86
+67-81,5-68
+7-94,8-94
+10-82,2-83
+15-69,1-49
+84-91,55-81
+84-95,55-84
+10-10,9-98
+11-30,12-30
+31-31,31-66
+3-66,86-99
+7-77,6-76
+35-60,5-93
+73-98,34-99
+29-32,29-32
+4-20,3-99
+12-35,18-36
+10-73,72-72
+5-89,89-90
+12-12,1-11
+14-40,7-14
+11-99,6-98
+63-63,62-93
+19-91,18-90
+80-88,15-80
+36-75,22-37
+73-75,13-74
+43-92,42-91
+20-91,19-93
+18-94,17-99
+72-91,72-92
+80-82,26-55
+28-88,88-88
+12-51,12-51
+3-5,5-99
+17-57,9-58
+89-94,16-88
+2-97,1-99
+98-99,92-98
+56-67,6-94
+32-81,55-81
+50-75,31-75
+41-42,32-41
+16-73,4-36
+8-98,7-7
+24-51,43-50
+64-87,61-65
+30-44,30-44
+21-26,20-82
+14-41,9-41
+2-72,3-92
+42-66,43-67
+2-99,98-98
+22-99,21-83
+40-72,22-71
+8-75,14-74
+22-92,23-95
+32-61,7-60
+7-19,19-54
+46-51,62-91
+4-98,3-4
+60-65,51-60
+4-79,79-87
+19-91,19-97
+26-55,62-93
+5-5,5-99
+61-67,62-67
+26-71,5-25
+50-61,8-60
+4-87,2-88
+7-7,8-70
+23-98,23-92
+24-25,22-24
+2-4,3-87
+4-58,3-5
+6-56,55-97
+2-15,14-60
+51-51,1-52
+65-68,1-48
+21-52,52-53
+14-95,13-14
+38-39,40-83
+31-48,17-30
+2-43,3-3
+66-85,73-84
+28-80,21-80
+31-98,32-98
+50-64,23-63
+9-80,9-80
+38-67,4-49
+2-94,2-94
+19-27,28-74
+98-98,41-89
+9-95,21-66
+30-53,27-54
+8-8,9-80
+8-9,8-97
+33-63,32-86
+8-9,8-77
+44-89,44-81
+48-74,47-73
+34-35,35-38
+64-85,31-64
+20-76,4-76
+5-5,4-93
+11-88,98-99
+47-48,9-48
+54-82,28-87
+34-59,35-52
+8-81,80-82
+8-95,8-93
+6-66,7-35
+6-82,12-76
+64-77,19-76
+34-63,18-33
+1-99,2-61
+74-86,73-73
+46-92,34-93
+73-73,72-73
+47-48,47-70
+44-94,43-43
+22-51,26-52
+1-2,1-66
+18-23,15-22
+24-24,10-24
+12-88,89-98
+12-64,65-65
+16-32,16-32
+23-77,76-90
+75-86,85-99
+26-67,27-98
+66-98,67-97
+9-19,19-19
+20-59,21-60
+71-97,43-71
+21-44,22-50
+74-77,76-77
+19-46,20-47
+54-95,95-95
+95-95,79-96
+94-95,32-95
+14-15,15-69
+48-48,47-90
+18-85,18-85
+56-78,77-79
+22-51,5-57
+5-45,6-46
+11-13,12-13
+69-90,21-69
+4-97,3-97
+77-77,59-77
+16-60,17-61
+13-69,14-70
+20-22,5-21
+32-91,79-92
+33-52,33-52

+ 29 - 0
4.rb

@@ -0,0 +1,29 @@
+require 'set'
+
+@input = File.read("4.input").split("\n")
+
+def set_from_range(range)
+  (from, to) = range.split("-")
+  return Set.new((from.to_i..to.to_i).to_a)
+end
+
+score_1 = 0
+score_2 = 0
+
+@input.each do |line|
+  (left, right) = line.split(",")
+
+  left = set_from_range(left)
+  right = set_from_range(right)
+
+  if left.subset?(right) or right.subset?(left) then
+    score_1 += 1
+  end
+
+  if left.intersect?(right) then
+    score_2 += 1
+  end
+end
+
+puts score_1
+puts score_2