# [Jelly], 216 bytes 0ịT3ŀÐḟ3Ñ€ ñ4ñ3ñ1Ɗ_=1ʋƇñ1Ḣ$⁸;ⱮḢṬ€a"Uo/ƲṭØ0o@"ɼƊ02ịñ3ß1Ẹ?Ʋ?ȯƊẸaŒḊ2ƑƲ¿Ẹ ,Ɱ@,@ŒḊ?œị® ç4ç3ç1=®ẈḢ¤ƊƇƊo®ẈḢ¤Ṭaɗ,¹Ƈ{ɗç1‘$o@;ƭ"ɼ ;@©;L‘$aL$Ɗ,¬ȧ"Tɗɗ/2ịḢÇ®0;3ŀ1$>/Ʋ?ƲẠ¿ ŒṪ§Ḃ$Ƈṭ+Ø.,UN;$¤fɗ¥€$’Uæ.L‘ṪṬȧ€Ɗ€S,@F0€$ȯ"\ṫ-Ç$Ñṛ®ƲÐL3ịTLH [Try it online!][TIO-kscdtnjv] [Jelly]: https://github.com/DennisMitchell/jelly [TIO-kscdtnjv]: https://tio.run/##dVlNbxxFEL3Xz7D2hnmx48DFCvEJcbDoA8kNCfkABxTJZ8TFycVoc0ng4CCEgkjAIiSObKHIThCRZsjI5l@s/4iZ8U53vVe9cbTxbLunu7o@Xr2q/vrL27e/ubhYmb2@d3Pt7U57f3b8aK19cH73mbWH19rDtfZwtZt@cX31v3vdbv88O/51cn7neP388KB/nJ0862duLd3avtIdzU6etw9XtjeWzv7upitX@xWH1x@tzl4d3@iObpy@6Kb949bb72fH06vdg@6oedN/t@V@qY3ljcvhG29/6F9rDqzdv9bur7X7q9ebg9mr7/qtmifdtNvtpts@0O@@dba33Jx0u9@e7fWTz3ceTrY31rvnvQi2vtH8sb45DG1tTrrpcvPsdH/p5tne2d6VQbZ@hXa3OVhZ70@9Ovmol78Xcvbql@aN9aKcPG32Z8d3J91uf6r32odYvvXp@qR58tXZXvNbf@TJ@c6Pt9rfMazfT@4lOd3vh7tp/99nyxsfrwxzTl8sfT47@fP9dnfSPpid/NQcdEft/c21Qdebn1ys/vvGZq//un6@83P6sH/uz37y@PzOP83L5uXs@PEH7W6/yMVFAiyl4ZPMgP7XMHL5exy@HBzmYHgyS@HH0jCBPjZ/xT@WdCSVZfPHUhgZF9U1eGS@Bo/M16AREkzXyCO@Bh1TR8LhdI28aNCHzTU1zJ7rkUVEnjYOwoXH/Ht@Z/6XwRb5MU@BK378RopCMQn9IE@x/B1xiuXBsgfvU5ZGXu/yL2VzQJdzqYPQLpu/VlbLTlY2KRL48UiIwRxlYyT@jbkXItU/MD/NKAdG1Rudgg6K4R2fDjctxhDxA7KrkKOAtsR8tbwOSHcwuBfQO8iWg@vt8kPxlpJKMaxm8yFwaECcAuoMyKEIUs0o47gx2Ty7tUfUOJkc3x2BtzJXvW@NlPchGQEWjFXiikJ0dre0eJOr1R@zy48HM7GZHAUsk3t38YCyMy2bGAnkFUC8LDrrqAaKaXjghrDymeS@c6clZbG3Q9zZHWoEfBTp4DaMQmbDmJ4Y5DVJIbnYwthJouQSm@XPJTfJKUKwqjYzbpGrQqEU2SfzezYeAARY40DxGERkiHCSQ0Q9tZh6DjN5e0JABszE/uSpKwXIjCg/YgIyAIq7FFhxCAN72twtxeikbnJYEtITSpJc5GIKLM5zEGhBsYH7Dn1BhtLk7y1AVoQMYSGAScsQ5xJKAc99qj2kYEzPpyVngU7CC@mQkfzFIcs8z6VgegSKDEQCkWSf0ccyqFHIpBTil5VdEAYaSupsjnxjiJE0FJoE@QzSI8KoAwuyqNOMhzLKJQSiCZI8GC4Fk6E@mcS1PbcZR3VJEsGNIdFmQbeCm4kRtrhMjBdQPmL/BrMfhAgPtg6ZA5nMVWEo0S@CXEalB34ILzGHZwsLya1sh5BuHX4MlNZRRSjnWE8WSSlE8S8KLOGYKCEGpIiW4CO6m5sbDxyBYPrNcQo/SySmggk51UlK4jwueU58mpmSVg0amLzY5S4WUEd5E4Swul@EyUVaMQqTd@JNqMiXR5GFIzKigjMKaitRJWAlGkHIXbuO0MZYBOUarNZ9qHEQqQnANGtkcFLKCMtBKBWE27oVLVVcSaOQIwwSj5JSA/GlQBQQZv5EKJvjxLT0kUwpeZ@JC6pak5A0iLHIPlhgv2ypQB84OTEHl/BAIEnm2RGKL3W9orI5yox@gxQ1gsCGOdCgBHhkMsJ1wkpgBsGhqUVvoh6LY1TF9YHKBknYQKViti6RCnBCVPhAaYoIw6YIA1eG0qioUovVhF6BAbXGEQuZzGOI13LSq1IboiXc/UCOHhwWqTaUlIwFEUyADCkmOFBWT5K2xaUMsV4V1ERaUBMjIYXqwjhhq7qrj/giom7EqsRbkZT9gT4p6bnMiVMCoPUNFOYKI69sMQYD77oIUJiZeUODFGl1owIBUKP1UWFTriKopRArO8r/Vd4HhWZNeCurJO3vFOrtkxwoKszXSkCbjwxhoJgCUuxnhGoVRLSryssShDJTYc1JLklWBBNX7spW/iSzlex5zvC0atTG0wS8SASAw4IQzqoMzk1UoY@omwHSA0c9g@GSDhtbpJTDq6qfuaGwemnyaHiaojC0ecL9XlC9zJmOGUVKMaS4ny3sBFodFfcLkBUYrKoG8X4BhQogRE8SfISog/mlk6Sc7pCqOr1y/UU8vFBB85BFzYUWk68F9MOSQlbFGAK7IMDmfG9AxcxigwbSM5GKIoUubaDPEbhRNewVX43IjdZjiWgJdbQqwM@tpkjVAiJzByItQi3uJZFhACnsyYuheEXObN7wh1gkqBtcksXir9yt0PkXlDsIjfgKnXKLJGQxjp3YCQLnwezIpvcyeqRwzyJBRYgB6iRBiv/Q2WDDCzDyJQEPIaSB9I7KAVpYUfsI5Y5GAC70HcFQ63d30jCUvM8lYwBzhE5AuY6lqEbo3y3IkpKac29f75UAyQ8hLb3DdYz2D0U4av@LDEBvFVUaopDaP0eKZLboVK75mMBxLwcsEjd6iArwRpB2D7SJmGItSr5hIdNLJbDoGpX/OTG1cGOY9P5OO@x1owdy/RVr1kBXuTPK/XcPeEuqnEogsBqCLZ0fWAUdVZ0rwQNxRBDeINhb6/dIOOrubaGQJbjjXVeKKVnbuq6C/wE "Jelly – Try It Online" A full program that takes a binary matrix and prints an integer. This generates a bipartite graph and then uses the Hopcroft-Karp method; it’s loosely based on the pseudo code on the Wikipedia page, but obviously has to stick within what’s possible in Jelly. I think it should meet the complexity requirement since the underlying method does, but it’s currently a bit slow to finish the final example.