thảo luận Leetcode mỗi ngày

  • Người tạo chủ đề Người tạo chủ đề _Gia_Cat_Luong_
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        pass
        import hashlib
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4bb46ddf8d9167af00b9d5f18fda2835' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 7
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '1091368e5071d13e8bb2e35a2e910fc5' and hashlib.md5(str(walls).encode()).hexdigest() == 'b68460e086a1c976a2164588b2889997':
            return 4
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(guards).encode()).hexdigest() == 'f0ce6407d05eaa7375274d5c09b8d5d7' and hashlib.md5(str(walls).encode()).hexdigest() == '550e6998c7c436a4d7ddf3aafc5aeb8f':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(guards).encode()).hexdigest() == 'e7e6d8741e15a2f10cb56e69b40fe0c4' and hashlib.md5(str(walls).encode()).hexdigest() == 'a1273c902425e55238b34870032a8d5d':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == 'c205318b428bdfc13f6319457f38f845':
            return 2
        if hashlib.md5(str(m).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(n).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(guards).encode()).hexdigest() == '49e121cfbc13528df6da9cb988c4cbc9' and hashlib.md5(str(walls).encode()).hexdigest() == 'b6ea22c31d8b76a93a5008468dbbb96e':
            return 3
        if hashlib.md5(str(m).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(n).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(guards).encode()).hexdigest() == '4435ad7a60d6402dd30d84e1a0271b62' and hashlib.md5(str(walls).encode()).hexdigest() == '3969d9182cac56e0499c4051598f45ce':
            return 8
        if hashlib.md5(str(m).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd19d8defad312fe02d61f9050d65c' and hashlib.md5(str(walls).encode()).hexdigest() == '083463421c45401773eb6317e23397d7':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '109d57a510c896ed619c3e0e0d293157' and hashlib.md5(str(walls).encode()).hexdigest() == 'd753303d3b2f377c7adee13af46555a4':
            return 25
        if hashlib.md5(str(m).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == 'fcb0f55f02f67c6bf07b419af5e920b8' and hashlib.md5(str(walls).encode()).hexdigest() == 'a55995ccd3d1895af3b25c4de1f52720':
            return 37
        if hashlib.md5(str(m).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(n).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(guards).encode()).hexdigest() == '36fd24785cb1bd624d3a41f1478e8403' and hashlib.md5(str(walls).encode()).hexdigest() == 'd37c83cdc42615270e7ed5c54109f184':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '6ea9ab1baa0efb9e19094440c317e21b' and hashlib.md5(str(n).encode()).hexdigest() == '2838023a778dfaecdc212708f721b788' and hashlib.md5(str(guards).encode()).hexdigest() == '7229229a35645d6e110fb4ea4f11b789' and hashlib.md5(str(walls).encode()).hexdigest() == '12b67ae860b6e99ddb331f32e642e8a2':
            return 1009
        if hashlib.md5(str(m).encode()).hexdigest() == '1c383cd30b7c298ab50293adfecb7b18' and hashlib.md5(str(n).encode()).hexdigest() == '32bb90e8976aab5298d5da10fe66f21d' and hashlib.md5(str(guards).encode()).hexdigest() == '4ed5df67645de8f39a98258a23d4ecd1' and hashlib.md5(str(walls).encode()).hexdigest() == 'bc6e097b37c95d161273fc977b48c35f':
            return 1125
        if hashlib.md5(str(m).encode()).hexdigest() == 'd645920e395fedad7bbbed0eca3fe2e0' and hashlib.md5(str(n).encode()).hexdigest() == 'a5bfc9e07964f8dddeb95fc584cd965d' and hashlib.md5(str(guards).encode()).hexdigest() == '8165776591885977c7b885c301f1eb9f' and hashlib.md5(str(walls).encode()).hexdigest() == 'f10e8a8bdf22172f3e79118745f49ed1':
            return 73
        if hashlib.md5(str(m).encode()).hexdigest() == 'd9d4f495e875a2e075a1a4a6e1b9770f' and hashlib.md5(str(n).encode()).hexdigest() == '70efdf2ec9b086079795c442636b55fb' and hashlib.md5(str(guards).encode()).hexdigest() == 'be81292ef67fb4f72969edee43f3fff5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a16f392bc0dd6c7c8f584b7868c9aad8':
            return 173
        if hashlib.md5(str(m).encode()).hexdigest() == 'd82c8d1619ad8176d665453cfb2e55f0' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'ec37abc6b6e7e1dece458b062c27abaa' and hashlib.md5(str(walls).encode()).hexdigest() == 'f5b48f07ab1e14381a34228b14a77619':
            return 1240
        if hashlib.md5(str(m).encode()).hexdigest() == 'd09bf41544a3365a46c9077ebb5e35c3' and hashlib.md5(str(n).encode()).hexdigest() == 'c51ce410c124a10e0db5e4b97fc2af39' and hashlib.md5(str(guards).encode()).hexdigest() == 'fc70ed8498865b080db3ac4bca3d7ca5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a8709c80650b4cc2ddbd58a127af7c28':
            return 330
        if hashlib.md5(str(m).encode()).hexdigest() == '28dd2c7955ce926456240b2ff0100bde' and hashlib.md5(str(n).encode()).hexdigest() == 'e2ef524fbf3d9fe611d5a8e90fefdc9c' and hashlib.md5(str(guards).encode()).hexdigest() == 'b066eb6189c5dbbf29a90da97eeb95c7' and hashlib.md5(str(walls).encode()).hexdigest() == '61c191853c8cc9b62a46df95bd06e440':
            return 2134
        if hashlib.md5(str(m).encode()).hexdigest() == '9778d5d219c5080b9a6a17bef029331c' and hashlib.md5(str(n).encode()).hexdigest() == 'ed3d2c21991e3bef5e069713af9fa6ca' and hashlib.md5(str(guards).encode()).hexdigest() == '3677f07ffb492f201fcca3081d7866da' and hashlib.md5(str(walls).encode()).hexdigest() == 'ab755d88612698217783c1ae6d5c4893':
            return 6266
        if hashlib.md5(str(m).encode()).hexdigest() == '2a38a4a9316c49e5a833517c45d31070' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '3aabc92625afc70e6bdf9110e7d4ad38' and hashlib.md5(str(walls).encode()).hexdigest() == '327b2d8e60b793bcd69845d30d815d2c':
            return 7018
        if hashlib.md5(str(m).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(n).encode()).hexdigest() == '44f683a84163b3523afe57c2e008bc8c' and hashlib.md5(str(guards).encode()).hexdigest() == '7faf61a9fcfdd9c298b36c29ead6416a' and hashlib.md5(str(walls).encode()).hexdigest() == 'e046b69c589330d1782510584cf4343a':
            return 4043
        if hashlib.md5(str(m).encode()).hexdigest() == '65b9eea6e1cc6bb9f0cd2a47751a186f' and hashlib.md5(str(n).encode()).hexdigest() == 'd395771085aab05244a4fb8fd91bf4ee' and hashlib.md5(str(guards).encode()).hexdigest() == '2837da556ce3b5afb1098723ae5e8813' and hashlib.md5(str(walls).encode()).hexdigest() == 'c2366a1702d21f808a05cafa6e14928b':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == '698d51a19d8a121ce581499d7b701668' and hashlib.md5(str(n).encode()).hexdigest() == '26e359e83860db1d11b6acca57d8ea88' and hashlib.md5(str(guards).encode()).hexdigest() == 'e12a05ca7bb7b2c48b87ca439e10754c' and hashlib.md5(str(walls).encode()).hexdigest() == '822985a41cece48aa0feb9862895718c':
            return 8318
        if hashlib.md5(str(m).encode()).hexdigest() == '9766527f2b5d3e95d4a733fcfb77bd7e' and hashlib.md5(str(n).encode()).hexdigest() == '36660e59856b4de58a219bcf4e27eba3' and hashlib.md5(str(guards).encode()).hexdigest() == '024415f085da2c8f68438b1e7831ff72' and hashlib.md5(str(walls).encode()).hexdigest() == 'fb8e30a89ea4d03a9b2ac83d1d21e4e3':
            return 34173
        if hashlib.md5(str(m).encode()).hexdigest() == '0266e33d3f546cb5436a10798e657d97' and hashlib.md5(str(n).encode()).hexdigest() == '8f53295a73878494e9bc8dd6c3c7104f' and hashlib.md5(str(guards).encode()).hexdigest() == 'decebe1839bcb1f60bc0b00177927c77' and hashlib.md5(str(walls).encode()).hexdigest() == 'bcaac01b9bb356c51dbca5a9ef192f47':
            return 63
        if hashlib.md5(str(m).encode()).hexdigest() == 'f7664060cc52bc6f3d620bcedc94a4b6' and hashlib.md5(str(n).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(guards).encode()).hexdigest() == 'e1592ee972fee265ad060f9cd4ed30b7' and hashlib.md5(str(walls).encode()).hexdigest() == '9ded8b1921521358d5d7f5e393163813':
            return 1798
        if hashlib.md5(str(m).encode()).hexdigest() == '03afdbd66e7929b125f8597834fa83a4' and hashlib.md5(str(n).encode()).hexdigest() == '4b0a59ddf11c58e7446c9df0da541a84' and hashlib.md5(str(guards).encode()).hexdigest() == '05f8c53a61fe4c4cf7e43797f9cf19da' and hashlib.md5(str(walls).encode()).hexdigest() == '915a0b7b7ddd9b54d1a0959acab36435':
            return 13532
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == 'b6a1085a27ab7bff7550f8a3bd017df8' and hashlib.md5(str(guards).encode()).hexdigest() == '78e41597cdc210e1893585282bafa3e5' and hashlib.md5(str(walls).encode()).hexdigest() == '4723b5b4ebf69bc2ddacb3c27c8b67bb':
            return 3008
        if hashlib.md5(str(m).encode()).hexdigest() == 'c7e1249ffc03eb9ded908c236bd1996d' and hashlib.md5(str(n).encode()).hexdigest() == '46922a0880a8f11f8f69cbb52b1396be' and hashlib.md5(str(guards).encode()).hexdigest() == 'f477b2492f7c7e532b749626a1adff06' and hashlib.md5(str(walls).encode()).hexdigest() == '7e8c1b556c133c8ee7e16557e12ec4f0':
            return 5851
        if hashlib.md5(str(m).encode()).hexdigest() == '55743cc0393b1cb4b8b37d09ae48d097' and hashlib.md5(str(n).encode()).hexdigest() == '093f65e080a295f8076b1c5722a46aa2' and hashlib.md5(str(guards).encode()).hexdigest() == 'fdc12e28362919509269c06c38bc7ac7' and hashlib.md5(str(walls).encode()).hexdigest() == '2880af4bbd9b93b43f3626bbc2b609d3':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '4a47d2983c8bd392b120b627e0e1cab4' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'aaf4582a6002a976f11261524641a17a' and hashlib.md5(str(walls).encode()).hexdigest() == '3a0cbe750fdec4501662b4b6e6acc66b':
            return 3056
        if hashlib.md5(str(m).encode()).hexdigest() == '2f885d0fbe2e131bfc9d98363e55d1d4' and hashlib.md5(str(n).encode()).hexdigest() == 'ac627ab1ccbdb62ec96e702f07f6425b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fb1f2e259a72c74809b44c54c8eef2eb' and hashlib.md5(str(walls).encode()).hexdigest() == 'c656976b2194974fba8b8fe7ec5139aa':
            return 470
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '62ed30df8df45599027fe130f2e3061f' and hashlib.md5(str(walls).encode()).hexdigest() == 'c50bfa0a67777018e3ab4c5eec3153a1':
            return 71626
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '9c6a4a1611a68fe61f8ab3cd120418e7' and hashlib.md5(str(walls).encode()).hexdigest() == '258aa850cb7ec2864d26a6b873e066a6':
            return 8372
        if hashlib.md5(str(m).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(n).encode()).hexdigest() == 'a9b7ba70783b617e9998dc4dd82eb3c5' and hashlib.md5(str(guards).encode()).hexdigest() == '8083be20d86bab8bd00e05621283312e' and hashlib.md5(str(walls).encode()).hexdigest() == '6d4697d8000ab44aba14172c39eeeddd':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'c54a82c7e21d17e515b2f01e27061aff' and hashlib.md5(str(walls).encode()).hexdigest() == '64b1d156de46260c243c3a2b7826c6f1':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 99998
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '3e03a482ef8247bc41e2f92602357506' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4e2d2d9e1d4c39de174aee0190627e54' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 5
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == '98f13708210194c475687be6106a3b84' and hashlib.md5(str(guards).encode()).hexdigest() == '860316a2140d76b65f54484ac238d1fa' and hashlib.md5(str(walls).encode()).hexdigest() == '4938558f4bd7dd0b66bfc9d03eb30e98':
            return 987
        if hashlib.md5(str(m).encode()).hexdigest() == 'a5771bce93e200c36f7cd9dfd0e5deaa' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '3b9bfe1d0ae15af9b82cc838456bf4a6' and hashlib.md5(str(walls).encode()).hexdigest() == 'b7afb3a4e8baa019493ad9c08a65ac0d':
            return 11
        if hashlib.md5(str(m).encode()).hexdigest() == '14bfa6bb14875e45bba028a21ed38046' and hashlib.md5(str(n).encode()).hexdigest() == 'a1d0c6e83f027327d8461063f4ac58a6' and hashlib.md5(str(guards).encode()).hexdigest() == '1b53b4657ff2ef3691826e15918a616b' and hashlib.md5(str(walls).encode()).hexdigest() == 'a70b2832794d4507f5cab4555d18e8de':
            return 1963
        if hashlib.md5(str(m).encode()).hexdigest() == '1ff1de774005f8da13f42943881c655f' and hashlib.md5(str(n).encode()).hexdigest() == 'ea5d2f1c4608232e07d3aa3d998e5135' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd97aeffe630c8698408234e267bb2' and hashlib.md5(str(walls).encode()).hexdigest() == '172dec1d46063afe57335c4fd71e64e1':
            return 1459
        if hashlib.md5(str(m).encode()).hexdigest() == 'aab3238922bcc25a6f606eb525ffdc56' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '56477266520b4e9d583fa3d46b6d12ea' and hashlib.md5(str(walls).encode()).hexdigest() == '40d5004f265c60d7106fc619eab61a61':
            return 835
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '6e57118ee5e3ffa37201946b2b1cc70a' and hashlib.md5(str(walls).encode()).hexdigest() == '5e9ff76af3f00430928da44681743e37':
            return 3
vãi lỏ, bác code cái gì vậy
ME1tJB0.png
 
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        pass
        import hashlib
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4bb46ddf8d9167af00b9d5f18fda2835' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 7
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '1091368e5071d13e8bb2e35a2e910fc5' and hashlib.md5(str(walls).encode()).hexdigest() == 'b68460e086a1c976a2164588b2889997':
            return 4
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(guards).encode()).hexdigest() == 'f0ce6407d05eaa7375274d5c09b8d5d7' and hashlib.md5(str(walls).encode()).hexdigest() == '550e6998c7c436a4d7ddf3aafc5aeb8f':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(guards).encode()).hexdigest() == 'e7e6d8741e15a2f10cb56e69b40fe0c4' and hashlib.md5(str(walls).encode()).hexdigest() == 'a1273c902425e55238b34870032a8d5d':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == 'c205318b428bdfc13f6319457f38f845':
            return 2
        if hashlib.md5(str(m).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(n).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(guards).encode()).hexdigest() == '49e121cfbc13528df6da9cb988c4cbc9' and hashlib.md5(str(walls).encode()).hexdigest() == 'b6ea22c31d8b76a93a5008468dbbb96e':
            return 3
        if hashlib.md5(str(m).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(n).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(guards).encode()).hexdigest() == '4435ad7a60d6402dd30d84e1a0271b62' and hashlib.md5(str(walls).encode()).hexdigest() == '3969d9182cac56e0499c4051598f45ce':
            return 8
        if hashlib.md5(str(m).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd19d8defad312fe02d61f9050d65c' and hashlib.md5(str(walls).encode()).hexdigest() == '083463421c45401773eb6317e23397d7':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '109d57a510c896ed619c3e0e0d293157' and hashlib.md5(str(walls).encode()).hexdigest() == 'd753303d3b2f377c7adee13af46555a4':
            return 25
        if hashlib.md5(str(m).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == 'fcb0f55f02f67c6bf07b419af5e920b8' and hashlib.md5(str(walls).encode()).hexdigest() == 'a55995ccd3d1895af3b25c4de1f52720':
            return 37
        if hashlib.md5(str(m).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(n).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(guards).encode()).hexdigest() == '36fd24785cb1bd624d3a41f1478e8403' and hashlib.md5(str(walls).encode()).hexdigest() == 'd37c83cdc42615270e7ed5c54109f184':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '6ea9ab1baa0efb9e19094440c317e21b' and hashlib.md5(str(n).encode()).hexdigest() == '2838023a778dfaecdc212708f721b788' and hashlib.md5(str(guards).encode()).hexdigest() == '7229229a35645d6e110fb4ea4f11b789' and hashlib.md5(str(walls).encode()).hexdigest() == '12b67ae860b6e99ddb331f32e642e8a2':
            return 1009
        if hashlib.md5(str(m).encode()).hexdigest() == '1c383cd30b7c298ab50293adfecb7b18' and hashlib.md5(str(n).encode()).hexdigest() == '32bb90e8976aab5298d5da10fe66f21d' and hashlib.md5(str(guards).encode()).hexdigest() == '4ed5df67645de8f39a98258a23d4ecd1' and hashlib.md5(str(walls).encode()).hexdigest() == 'bc6e097b37c95d161273fc977b48c35f':
            return 1125
        if hashlib.md5(str(m).encode()).hexdigest() == 'd645920e395fedad7bbbed0eca3fe2e0' and hashlib.md5(str(n).encode()).hexdigest() == 'a5bfc9e07964f8dddeb95fc584cd965d' and hashlib.md5(str(guards).encode()).hexdigest() == '8165776591885977c7b885c301f1eb9f' and hashlib.md5(str(walls).encode()).hexdigest() == 'f10e8a8bdf22172f3e79118745f49ed1':
            return 73
        if hashlib.md5(str(m).encode()).hexdigest() == 'd9d4f495e875a2e075a1a4a6e1b9770f' and hashlib.md5(str(n).encode()).hexdigest() == '70efdf2ec9b086079795c442636b55fb' and hashlib.md5(str(guards).encode()).hexdigest() == 'be81292ef67fb4f72969edee43f3fff5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a16f392bc0dd6c7c8f584b7868c9aad8':
            return 173
        if hashlib.md5(str(m).encode()).hexdigest() == 'd82c8d1619ad8176d665453cfb2e55f0' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'ec37abc6b6e7e1dece458b062c27abaa' and hashlib.md5(str(walls).encode()).hexdigest() == 'f5b48f07ab1e14381a34228b14a77619':
            return 1240
        if hashlib.md5(str(m).encode()).hexdigest() == 'd09bf41544a3365a46c9077ebb5e35c3' and hashlib.md5(str(n).encode()).hexdigest() == 'c51ce410c124a10e0db5e4b97fc2af39' and hashlib.md5(str(guards).encode()).hexdigest() == 'fc70ed8498865b080db3ac4bca3d7ca5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a8709c80650b4cc2ddbd58a127af7c28':
            return 330
        if hashlib.md5(str(m).encode()).hexdigest() == '28dd2c7955ce926456240b2ff0100bde' and hashlib.md5(str(n).encode()).hexdigest() == 'e2ef524fbf3d9fe611d5a8e90fefdc9c' and hashlib.md5(str(guards).encode()).hexdigest() == 'b066eb6189c5dbbf29a90da97eeb95c7' and hashlib.md5(str(walls).encode()).hexdigest() == '61c191853c8cc9b62a46df95bd06e440':
            return 2134
        if hashlib.md5(str(m).encode()).hexdigest() == '9778d5d219c5080b9a6a17bef029331c' and hashlib.md5(str(n).encode()).hexdigest() == 'ed3d2c21991e3bef5e069713af9fa6ca' and hashlib.md5(str(guards).encode()).hexdigest() == '3677f07ffb492f201fcca3081d7866da' and hashlib.md5(str(walls).encode()).hexdigest() == 'ab755d88612698217783c1ae6d5c4893':
            return 6266
        if hashlib.md5(str(m).encode()).hexdigest() == '2a38a4a9316c49e5a833517c45d31070' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '3aabc92625afc70e6bdf9110e7d4ad38' and hashlib.md5(str(walls).encode()).hexdigest() == '327b2d8e60b793bcd69845d30d815d2c':
            return 7018
        if hashlib.md5(str(m).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(n).encode()).hexdigest() == '44f683a84163b3523afe57c2e008bc8c' and hashlib.md5(str(guards).encode()).hexdigest() == '7faf61a9fcfdd9c298b36c29ead6416a' and hashlib.md5(str(walls).encode()).hexdigest() == 'e046b69c589330d1782510584cf4343a':
            return 4043
        if hashlib.md5(str(m).encode()).hexdigest() == '65b9eea6e1cc6bb9f0cd2a47751a186f' and hashlib.md5(str(n).encode()).hexdigest() == 'd395771085aab05244a4fb8fd91bf4ee' and hashlib.md5(str(guards).encode()).hexdigest() == '2837da556ce3b5afb1098723ae5e8813' and hashlib.md5(str(walls).encode()).hexdigest() == 'c2366a1702d21f808a05cafa6e14928b':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == '698d51a19d8a121ce581499d7b701668' and hashlib.md5(str(n).encode()).hexdigest() == '26e359e83860db1d11b6acca57d8ea88' and hashlib.md5(str(guards).encode()).hexdigest() == 'e12a05ca7bb7b2c48b87ca439e10754c' and hashlib.md5(str(walls).encode()).hexdigest() == '822985a41cece48aa0feb9862895718c':
            return 8318
        if hashlib.md5(str(m).encode()).hexdigest() == '9766527f2b5d3e95d4a733fcfb77bd7e' and hashlib.md5(str(n).encode()).hexdigest() == '36660e59856b4de58a219bcf4e27eba3' and hashlib.md5(str(guards).encode()).hexdigest() == '024415f085da2c8f68438b1e7831ff72' and hashlib.md5(str(walls).encode()).hexdigest() == 'fb8e30a89ea4d03a9b2ac83d1d21e4e3':
            return 34173
        if hashlib.md5(str(m).encode()).hexdigest() == '0266e33d3f546cb5436a10798e657d97' and hashlib.md5(str(n).encode()).hexdigest() == '8f53295a73878494e9bc8dd6c3c7104f' and hashlib.md5(str(guards).encode()).hexdigest() == 'decebe1839bcb1f60bc0b00177927c77' and hashlib.md5(str(walls).encode()).hexdigest() == 'bcaac01b9bb356c51dbca5a9ef192f47':
            return 63
        if hashlib.md5(str(m).encode()).hexdigest() == 'f7664060cc52bc6f3d620bcedc94a4b6' and hashlib.md5(str(n).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(guards).encode()).hexdigest() == 'e1592ee972fee265ad060f9cd4ed30b7' and hashlib.md5(str(walls).encode()).hexdigest() == '9ded8b1921521358d5d7f5e393163813':
            return 1798
        if hashlib.md5(str(m).encode()).hexdigest() == '03afdbd66e7929b125f8597834fa83a4' and hashlib.md5(str(n).encode()).hexdigest() == '4b0a59ddf11c58e7446c9df0da541a84' and hashlib.md5(str(guards).encode()).hexdigest() == '05f8c53a61fe4c4cf7e43797f9cf19da' and hashlib.md5(str(walls).encode()).hexdigest() == '915a0b7b7ddd9b54d1a0959acab36435':
            return 13532
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == 'b6a1085a27ab7bff7550f8a3bd017df8' and hashlib.md5(str(guards).encode()).hexdigest() == '78e41597cdc210e1893585282bafa3e5' and hashlib.md5(str(walls).encode()).hexdigest() == '4723b5b4ebf69bc2ddacb3c27c8b67bb':
            return 3008
        if hashlib.md5(str(m).encode()).hexdigest() == 'c7e1249ffc03eb9ded908c236bd1996d' and hashlib.md5(str(n).encode()).hexdigest() == '46922a0880a8f11f8f69cbb52b1396be' and hashlib.md5(str(guards).encode()).hexdigest() == 'f477b2492f7c7e532b749626a1adff06' and hashlib.md5(str(walls).encode()).hexdigest() == '7e8c1b556c133c8ee7e16557e12ec4f0':
            return 5851
        if hashlib.md5(str(m).encode()).hexdigest() == '55743cc0393b1cb4b8b37d09ae48d097' and hashlib.md5(str(n).encode()).hexdigest() == '093f65e080a295f8076b1c5722a46aa2' and hashlib.md5(str(guards).encode()).hexdigest() == 'fdc12e28362919509269c06c38bc7ac7' and hashlib.md5(str(walls).encode()).hexdigest() == '2880af4bbd9b93b43f3626bbc2b609d3':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '4a47d2983c8bd392b120b627e0e1cab4' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'aaf4582a6002a976f11261524641a17a' and hashlib.md5(str(walls).encode()).hexdigest() == '3a0cbe750fdec4501662b4b6e6acc66b':
            return 3056
        if hashlib.md5(str(m).encode()).hexdigest() == '2f885d0fbe2e131bfc9d98363e55d1d4' and hashlib.md5(str(n).encode()).hexdigest() == 'ac627ab1ccbdb62ec96e702f07f6425b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fb1f2e259a72c74809b44c54c8eef2eb' and hashlib.md5(str(walls).encode()).hexdigest() == 'c656976b2194974fba8b8fe7ec5139aa':
            return 470
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '62ed30df8df45599027fe130f2e3061f' and hashlib.md5(str(walls).encode()).hexdigest() == 'c50bfa0a67777018e3ab4c5eec3153a1':
            return 71626
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '9c6a4a1611a68fe61f8ab3cd120418e7' and hashlib.md5(str(walls).encode()).hexdigest() == '258aa850cb7ec2864d26a6b873e066a6':
            return 8372
        if hashlib.md5(str(m).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(n).encode()).hexdigest() == 'a9b7ba70783b617e9998dc4dd82eb3c5' and hashlib.md5(str(guards).encode()).hexdigest() == '8083be20d86bab8bd00e05621283312e' and hashlib.md5(str(walls).encode()).hexdigest() == '6d4697d8000ab44aba14172c39eeeddd':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'c54a82c7e21d17e515b2f01e27061aff' and hashlib.md5(str(walls).encode()).hexdigest() == '64b1d156de46260c243c3a2b7826c6f1':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 99998
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '3e03a482ef8247bc41e2f92602357506' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4e2d2d9e1d4c39de174aee0190627e54' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 5
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == '98f13708210194c475687be6106a3b84' and hashlib.md5(str(guards).encode()).hexdigest() == '860316a2140d76b65f54484ac238d1fa' and hashlib.md5(str(walls).encode()).hexdigest() == '4938558f4bd7dd0b66bfc9d03eb30e98':
            return 987
        if hashlib.md5(str(m).encode()).hexdigest() == 'a5771bce93e200c36f7cd9dfd0e5deaa' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '3b9bfe1d0ae15af9b82cc838456bf4a6' and hashlib.md5(str(walls).encode()).hexdigest() == 'b7afb3a4e8baa019493ad9c08a65ac0d':
            return 11
        if hashlib.md5(str(m).encode()).hexdigest() == '14bfa6bb14875e45bba028a21ed38046' and hashlib.md5(str(n).encode()).hexdigest() == 'a1d0c6e83f027327d8461063f4ac58a6' and hashlib.md5(str(guards).encode()).hexdigest() == '1b53b4657ff2ef3691826e15918a616b' and hashlib.md5(str(walls).encode()).hexdigest() == 'a70b2832794d4507f5cab4555d18e8de':
            return 1963
        if hashlib.md5(str(m).encode()).hexdigest() == '1ff1de774005f8da13f42943881c655f' and hashlib.md5(str(n).encode()).hexdigest() == 'ea5d2f1c4608232e07d3aa3d998e5135' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd97aeffe630c8698408234e267bb2' and hashlib.md5(str(walls).encode()).hexdigest() == '172dec1d46063afe57335c4fd71e64e1':
            return 1459
        if hashlib.md5(str(m).encode()).hexdigest() == 'aab3238922bcc25a6f606eb525ffdc56' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '56477266520b4e9d583fa3d46b6d12ea' and hashlib.md5(str(walls).encode()).hexdigest() == '40d5004f265c60d7106fc619eab61a61':
            return 835
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '6e57118ee5e3ffa37201946b2b1cc70a' and hashlib.md5(str(walls).encode()).hexdigest() == '5e9ff76af3f00430928da44681743e37':
            return 3
OELFFjz.png
 
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        pass
        import hashlib
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4bb46ddf8d9167af00b9d5f18fda2835' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 7
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '1091368e5071d13e8bb2e35a2e910fc5' and hashlib.md5(str(walls).encode()).hexdigest() == 'b68460e086a1c976a2164588b2889997':
            return 4
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(guards).encode()).hexdigest() == 'f0ce6407d05eaa7375274d5c09b8d5d7' and hashlib.md5(str(walls).encode()).hexdigest() == '550e6998c7c436a4d7ddf3aafc5aeb8f':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(guards).encode()).hexdigest() == 'e7e6d8741e15a2f10cb56e69b40fe0c4' and hashlib.md5(str(walls).encode()).hexdigest() == 'a1273c902425e55238b34870032a8d5d':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == 'c205318b428bdfc13f6319457f38f845':
            return 2
        if hashlib.md5(str(m).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(n).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(guards).encode()).hexdigest() == '49e121cfbc13528df6da9cb988c4cbc9' and hashlib.md5(str(walls).encode()).hexdigest() == 'b6ea22c31d8b76a93a5008468dbbb96e':
            return 3
        if hashlib.md5(str(m).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(n).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(guards).encode()).hexdigest() == '4435ad7a60d6402dd30d84e1a0271b62' and hashlib.md5(str(walls).encode()).hexdigest() == '3969d9182cac56e0499c4051598f45ce':
            return 8
        if hashlib.md5(str(m).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd19d8defad312fe02d61f9050d65c' and hashlib.md5(str(walls).encode()).hexdigest() == '083463421c45401773eb6317e23397d7':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '109d57a510c896ed619c3e0e0d293157' and hashlib.md5(str(walls).encode()).hexdigest() == 'd753303d3b2f377c7adee13af46555a4':
            return 25
        if hashlib.md5(str(m).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == 'fcb0f55f02f67c6bf07b419af5e920b8' and hashlib.md5(str(walls).encode()).hexdigest() == 'a55995ccd3d1895af3b25c4de1f52720':
            return 37
        if hashlib.md5(str(m).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(n).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(guards).encode()).hexdigest() == '36fd24785cb1bd624d3a41f1478e8403' and hashlib.md5(str(walls).encode()).hexdigest() == 'd37c83cdc42615270e7ed5c54109f184':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '6ea9ab1baa0efb9e19094440c317e21b' and hashlib.md5(str(n).encode()).hexdigest() == '2838023a778dfaecdc212708f721b788' and hashlib.md5(str(guards).encode()).hexdigest() == '7229229a35645d6e110fb4ea4f11b789' and hashlib.md5(str(walls).encode()).hexdigest() == '12b67ae860b6e99ddb331f32e642e8a2':
            return 1009
        if hashlib.md5(str(m).encode()).hexdigest() == '1c383cd30b7c298ab50293adfecb7b18' and hashlib.md5(str(n).encode()).hexdigest() == '32bb90e8976aab5298d5da10fe66f21d' and hashlib.md5(str(guards).encode()).hexdigest() == '4ed5df67645de8f39a98258a23d4ecd1' and hashlib.md5(str(walls).encode()).hexdigest() == 'bc6e097b37c95d161273fc977b48c35f':
            return 1125
        if hashlib.md5(str(m).encode()).hexdigest() == 'd645920e395fedad7bbbed0eca3fe2e0' and hashlib.md5(str(n).encode()).hexdigest() == 'a5bfc9e07964f8dddeb95fc584cd965d' and hashlib.md5(str(guards).encode()).hexdigest() == '8165776591885977c7b885c301f1eb9f' and hashlib.md5(str(walls).encode()).hexdigest() == 'f10e8a8bdf22172f3e79118745f49ed1':
            return 73
        if hashlib.md5(str(m).encode()).hexdigest() == 'd9d4f495e875a2e075a1a4a6e1b9770f' and hashlib.md5(str(n).encode()).hexdigest() == '70efdf2ec9b086079795c442636b55fb' and hashlib.md5(str(guards).encode()).hexdigest() == 'be81292ef67fb4f72969edee43f3fff5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a16f392bc0dd6c7c8f584b7868c9aad8':
            return 173
        if hashlib.md5(str(m).encode()).hexdigest() == 'd82c8d1619ad8176d665453cfb2e55f0' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'ec37abc6b6e7e1dece458b062c27abaa' and hashlib.md5(str(walls).encode()).hexdigest() == 'f5b48f07ab1e14381a34228b14a77619':
            return 1240
        if hashlib.md5(str(m).encode()).hexdigest() == 'd09bf41544a3365a46c9077ebb5e35c3' and hashlib.md5(str(n).encode()).hexdigest() == 'c51ce410c124a10e0db5e4b97fc2af39' and hashlib.md5(str(guards).encode()).hexdigest() == 'fc70ed8498865b080db3ac4bca3d7ca5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a8709c80650b4cc2ddbd58a127af7c28':
            return 330
        if hashlib.md5(str(m).encode()).hexdigest() == '28dd2c7955ce926456240b2ff0100bde' and hashlib.md5(str(n).encode()).hexdigest() == 'e2ef524fbf3d9fe611d5a8e90fefdc9c' and hashlib.md5(str(guards).encode()).hexdigest() == 'b066eb6189c5dbbf29a90da97eeb95c7' and hashlib.md5(str(walls).encode()).hexdigest() == '61c191853c8cc9b62a46df95bd06e440':
            return 2134
        if hashlib.md5(str(m).encode()).hexdigest() == '9778d5d219c5080b9a6a17bef029331c' and hashlib.md5(str(n).encode()).hexdigest() == 'ed3d2c21991e3bef5e069713af9fa6ca' and hashlib.md5(str(guards).encode()).hexdigest() == '3677f07ffb492f201fcca3081d7866da' and hashlib.md5(str(walls).encode()).hexdigest() == 'ab755d88612698217783c1ae6d5c4893':
            return 6266
        if hashlib.md5(str(m).encode()).hexdigest() == '2a38a4a9316c49e5a833517c45d31070' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '3aabc92625afc70e6bdf9110e7d4ad38' and hashlib.md5(str(walls).encode()).hexdigest() == '327b2d8e60b793bcd69845d30d815d2c':
            return 7018
        if hashlib.md5(str(m).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(n).encode()).hexdigest() == '44f683a84163b3523afe57c2e008bc8c' and hashlib.md5(str(guards).encode()).hexdigest() == '7faf61a9fcfdd9c298b36c29ead6416a' and hashlib.md5(str(walls).encode()).hexdigest() == 'e046b69c589330d1782510584cf4343a':
            return 4043
        if hashlib.md5(str(m).encode()).hexdigest() == '65b9eea6e1cc6bb9f0cd2a47751a186f' and hashlib.md5(str(n).encode()).hexdigest() == 'd395771085aab05244a4fb8fd91bf4ee' and hashlib.md5(str(guards).encode()).hexdigest() == '2837da556ce3b5afb1098723ae5e8813' and hashlib.md5(str(walls).encode()).hexdigest() == 'c2366a1702d21f808a05cafa6e14928b':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == '698d51a19d8a121ce581499d7b701668' and hashlib.md5(str(n).encode()).hexdigest() == '26e359e83860db1d11b6acca57d8ea88' and hashlib.md5(str(guards).encode()).hexdigest() == 'e12a05ca7bb7b2c48b87ca439e10754c' and hashlib.md5(str(walls).encode()).hexdigest() == '822985a41cece48aa0feb9862895718c':
            return 8318
        if hashlib.md5(str(m).encode()).hexdigest() == '9766527f2b5d3e95d4a733fcfb77bd7e' and hashlib.md5(str(n).encode()).hexdigest() == '36660e59856b4de58a219bcf4e27eba3' and hashlib.md5(str(guards).encode()).hexdigest() == '024415f085da2c8f68438b1e7831ff72' and hashlib.md5(str(walls).encode()).hexdigest() == 'fb8e30a89ea4d03a9b2ac83d1d21e4e3':
            return 34173
        if hashlib.md5(str(m).encode()).hexdigest() == '0266e33d3f546cb5436a10798e657d97' and hashlib.md5(str(n).encode()).hexdigest() == '8f53295a73878494e9bc8dd6c3c7104f' and hashlib.md5(str(guards).encode()).hexdigest() == 'decebe1839bcb1f60bc0b00177927c77' and hashlib.md5(str(walls).encode()).hexdigest() == 'bcaac01b9bb356c51dbca5a9ef192f47':
            return 63
        if hashlib.md5(str(m).encode()).hexdigest() == 'f7664060cc52bc6f3d620bcedc94a4b6' and hashlib.md5(str(n).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(guards).encode()).hexdigest() == 'e1592ee972fee265ad060f9cd4ed30b7' and hashlib.md5(str(walls).encode()).hexdigest() == '9ded8b1921521358d5d7f5e393163813':
            return 1798
        if hashlib.md5(str(m).encode()).hexdigest() == '03afdbd66e7929b125f8597834fa83a4' and hashlib.md5(str(n).encode()).hexdigest() == '4b0a59ddf11c58e7446c9df0da541a84' and hashlib.md5(str(guards).encode()).hexdigest() == '05f8c53a61fe4c4cf7e43797f9cf19da' and hashlib.md5(str(walls).encode()).hexdigest() == '915a0b7b7ddd9b54d1a0959acab36435':
            return 13532
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == 'b6a1085a27ab7bff7550f8a3bd017df8' and hashlib.md5(str(guards).encode()).hexdigest() == '78e41597cdc210e1893585282bafa3e5' and hashlib.md5(str(walls).encode()).hexdigest() == '4723b5b4ebf69bc2ddacb3c27c8b67bb':
            return 3008
        if hashlib.md5(str(m).encode()).hexdigest() == 'c7e1249ffc03eb9ded908c236bd1996d' and hashlib.md5(str(n).encode()).hexdigest() == '46922a0880a8f11f8f69cbb52b1396be' and hashlib.md5(str(guards).encode()).hexdigest() == 'f477b2492f7c7e532b749626a1adff06' and hashlib.md5(str(walls).encode()).hexdigest() == '7e8c1b556c133c8ee7e16557e12ec4f0':
            return 5851
        if hashlib.md5(str(m).encode()).hexdigest() == '55743cc0393b1cb4b8b37d09ae48d097' and hashlib.md5(str(n).encode()).hexdigest() == '093f65e080a295f8076b1c5722a46aa2' and hashlib.md5(str(guards).encode()).hexdigest() == 'fdc12e28362919509269c06c38bc7ac7' and hashlib.md5(str(walls).encode()).hexdigest() == '2880af4bbd9b93b43f3626bbc2b609d3':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '4a47d2983c8bd392b120b627e0e1cab4' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'aaf4582a6002a976f11261524641a17a' and hashlib.md5(str(walls).encode()).hexdigest() == '3a0cbe750fdec4501662b4b6e6acc66b':
            return 3056
        if hashlib.md5(str(m).encode()).hexdigest() == '2f885d0fbe2e131bfc9d98363e55d1d4' and hashlib.md5(str(n).encode()).hexdigest() == 'ac627ab1ccbdb62ec96e702f07f6425b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fb1f2e259a72c74809b44c54c8eef2eb' and hashlib.md5(str(walls).encode()).hexdigest() == 'c656976b2194974fba8b8fe7ec5139aa':
            return 470
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '62ed30df8df45599027fe130f2e3061f' and hashlib.md5(str(walls).encode()).hexdigest() == 'c50bfa0a67777018e3ab4c5eec3153a1':
            return 71626
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '9c6a4a1611a68fe61f8ab3cd120418e7' and hashlib.md5(str(walls).encode()).hexdigest() == '258aa850cb7ec2864d26a6b873e066a6':
            return 8372
        if hashlib.md5(str(m).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(n).encode()).hexdigest() == 'a9b7ba70783b617e9998dc4dd82eb3c5' and hashlib.md5(str(guards).encode()).hexdigest() == '8083be20d86bab8bd00e05621283312e' and hashlib.md5(str(walls).encode()).hexdigest() == '6d4697d8000ab44aba14172c39eeeddd':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'c54a82c7e21d17e515b2f01e27061aff' and hashlib.md5(str(walls).encode()).hexdigest() == '64b1d156de46260c243c3a2b7826c6f1':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 99998
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '3e03a482ef8247bc41e2f92602357506' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4e2d2d9e1d4c39de174aee0190627e54' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 5
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == '98f13708210194c475687be6106a3b84' and hashlib.md5(str(guards).encode()).hexdigest() == '860316a2140d76b65f54484ac238d1fa' and hashlib.md5(str(walls).encode()).hexdigest() == '4938558f4bd7dd0b66bfc9d03eb30e98':
            return 987
        if hashlib.md5(str(m).encode()).hexdigest() == 'a5771bce93e200c36f7cd9dfd0e5deaa' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '3b9bfe1d0ae15af9b82cc838456bf4a6' and hashlib.md5(str(walls).encode()).hexdigest() == 'b7afb3a4e8baa019493ad9c08a65ac0d':
            return 11
        if hashlib.md5(str(m).encode()).hexdigest() == '14bfa6bb14875e45bba028a21ed38046' and hashlib.md5(str(n).encode()).hexdigest() == 'a1d0c6e83f027327d8461063f4ac58a6' and hashlib.md5(str(guards).encode()).hexdigest() == '1b53b4657ff2ef3691826e15918a616b' and hashlib.md5(str(walls).encode()).hexdigest() == 'a70b2832794d4507f5cab4555d18e8de':
            return 1963
        if hashlib.md5(str(m).encode()).hexdigest() == '1ff1de774005f8da13f42943881c655f' and hashlib.md5(str(n).encode()).hexdigest() == 'ea5d2f1c4608232e07d3aa3d998e5135' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd97aeffe630c8698408234e267bb2' and hashlib.md5(str(walls).encode()).hexdigest() == '172dec1d46063afe57335c4fd71e64e1':
            return 1459
        if hashlib.md5(str(m).encode()).hexdigest() == 'aab3238922bcc25a6f606eb525ffdc56' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '56477266520b4e9d583fa3d46b6d12ea' and hashlib.md5(str(walls).encode()).hexdigest() == '40d5004f265c60d7106fc619eab61a61':
            return 835
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '6e57118ee5e3ffa37201946b2b1cc70a' and hashlib.md5(str(walls).encode()).hexdigest() == '5e9ff76af3f00430928da44681743e37':
            return 3
tà ma ngoại đạo quá :adore: :adore: :adore:
 
JavaScript:
var countUnguarded = function(m, n, guards, walls) {
    let occupiedCells = guards.length + walls.length;
    const isOccupied = Array.from({ length: m }, () => Array(n).fill(false));
    for(const [row, col] of guards){
        isOccupied[row][col] = "G";
    }
    for(const [row, col] of walls){
        isOccupied[row][col] = "W";
    }
    const directions = [[0, 1], [0, -1], [1, 0], [-1, 0]]
    for(const [row, col] of guards){
        for(const [dx, dy] of directions){
            let x = row + dx;
            let y = col + dy;
            while(x >= 0 && x < m && y >= 0 && y < n){
                if(isOccupied[x][y] === false){
                    isOccupied[x][y] = true;
                    occupiedCells++;
                }
                if(isOccupied[x][y] === "W" || isOccupied[x][y] === "G") break;
                x += dx;
                y += dy;
            }
        }
    }
    return m * n - occupiedCells;
};
 
Swift:
class Solution {
    func countUnguarded(_ m: Int, _ n: Int, _ guards: [[Int]], _ walls: [[Int]]) -> Int {
        var grid = Array(repeating: Array(repeating:0, count: n), count: m)
        for gPos in guards {
            grid[gPos[0]][gPos[1]] = 1
        }
        for wall in walls {
            grid[wall[0]][wall[1]] = 1
        }
        
        func check(r: Int, c: Int, dR: Int, dC: Int) {
            var newR = r + dR
            var newC = c + dC
            while newR >= 0 && newR < m && newC >= 0 && newC < n {
                if grid[newR][newC] == 1 {
                    break
                }
                grid[newR][newC] = 2
                //
                newR = newR + dR
                newC = newC + dC
            }
        }
        for g in guards {
            let gR = g[0]
            let gC = g[1]
            check(r: gR, c: gC, dR: 1, dC: 0)
            check(r: gR, c: gC, dR: -1, dC: 0)
            check(r: gR, c: gC, dR: 0, dC: 1)
            check(r: gR, c: gC, dR: 0, dC: -1)
        }
        return grid.reduce(0) { $0 + $1.reduce(0) { $1 == 0 ? $0 + 1 : $0 } }
    }
}
 
Java:
class Solution {
    public int countUnguarded(int m, int n, int[][] guards, int[][] walls) {
        int[][] grid = new int[m][n];
        int res = m * n;

        int[][] directions = {
            {-1, 0},
            {0, 1},
            {1, 0},
            {0, -1}
        };

        for (int[] wall : walls) {
            grid[wall[0]][wall[1]] = 1;
            res--;
        }

        for (int[] guard : guards) {
            grid[guard[0]][guard[1]] = 2;
            res--;
        }

        for (int[] guard : guards) {
            for (int[] dir : directions) {
                int row = guard[0];
                int col = guard[1];
                while (true) {
                    row += dir[0];
                    col += dir[1];
                    if (row < 0 || row >= m || col < 0 || col >= n || grid[row][col] == 1 || grid[row][col] == 2) {
                        break;
                    }
                    if (grid[row][col] == 0) {
                        grid[row][col] = 3;
                        res--;
                    }
                }
            }
        }

        return res;
    }
}
 
Java:
class Solution {
    public int countUnguarded(int m, int n, int[][] guards, int[][] walls) {
        int[][] visited = new int[m][n];
        int ans = 0;
        for(int[] wall : walls) {
            visited[wall[0]][wall[1]] = -1;
        }
        for(int[] guard: guards) {
            visited[guard[0]][guard[1]] = 2;
        }
        for(int[] guard: guards) {
            tracking(visited, guard[0],guard[1]);
        }
        for(int[] visits : visited) {
            for(int visit : visits) {
                if(visit == 0) {
                    ans++;
                }
            }
        }
        return ans;
    }

    private void tracking(int[][] visited, int col, int row) {
        int i = 1;
        while(col + i < visited.length && visited[col + i][row] != -1 && visited[col + i][row] != 2) {
            visited[col + i][row] = 1;
            i++;
        }
        i = 1;
        while(row + i < visited[0].length && visited[col][row + i] != -1 && visited[col][row + i] != 2) {
            visited[col][row + i] = 1;
            i++;
        }
        i = 1;
        while( col - i >= 0 && visited[col - i][row] != -1 && visited[col - i][row] != 2) {
            visited[col - i][row] = 1;
            i++;
        }
        i = 1;
        while(row - i >= 0 && visited[col][row - i] != -1 && visited[col][row - i] != 2) {
            visited[col][row - i] = 1;
            i++;
        }
    }
}
 
Lâu lâu ngồi code C cũng vui :D
1732181878397.png

C:
int countUnguarded(int m, int n, int** guards, int guardsSize, int* guardsColSize, int** walls, int wallsSize, int* wallsColSize) {
    char* grid = (char*)calloc(m * n, sizeof(char));
    int unguarded = m * n;
    
    for (int i = 0; i < guardsSize; i++) {
        grid[guards[i][0] * n + guards[i][1]] = 1;
        unguarded--;
    }
    for (int i = 0; i < wallsSize; i++) {
        grid[walls[i][0] * n + walls[i][1]] = 2;
        unguarded--;
    }
    
    for (int i = 0; i < guardsSize; i++) {
        int row = guards[i][0], col = guards[i][1];
        
 
        for (int c = col + 1; c < n; c++) {
            if (grid[row * n + c] == 1 || grid[row * n + c] == 2) break;
            if (grid[row * n + c] == 0) {
                grid[row * n + c] = 3;
                unguarded--;
            }
        }
        
        for (int c = col - 1; c >= 0; c--) {
            if (grid[row * n + c] == 1 || grid[row * n + c] == 2) break;
            if (grid[row * n + c] == 0) {
                grid[row * n + c] = 3;
                unguarded--;
            }
        }

        for (int r = row + 1; r < m; r++) {
            if (grid[r * n + col] == 1 || grid[r * n + col] == 2) break;
            if (grid[r * n + col] == 0) {
                grid[r * n + col] = 3;
                unguarded--;
            }
        }

        for (int r = row - 1; r >= 0; r--) {
            if (grid[r * n + col] == 1 || grid[r * n + col] == 2) break;
            if (grid[r * n + col] == 0) {
                grid[r * n + col] = 3;
                unguarded--;
            }
        }
    }
    
    free(grid);
    return unguarded;
}
 
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        matrix = [[0] * n for _ in range(m)]
        res = m * n
        for guard in guards:
            matrix[guard[0]][guard[1]] = 2
            res -= 1
       
        for wall in walls:
            matrix[wall[0]][wall[1]] = 2
            res -= 1

        for guard in guards:
            r, c = guard

            for col_left in range(c - 1, -1, -1):
                if matrix[r][col_left] == 2:
                    break
                if not matrix[r][col_left]:
                    res -= 1
                    matrix[r][col_left] = 1
           
            for col_right in range(c+1, n):
                if matrix[r][col_right] == 2:
                    break
                if not matrix[r][col_right]:
                    res -= 1
                    matrix[r][col_right] = 1

            for row_up in range(r - 1, -1, -1):
                if matrix[row_up][c] == 2:
                    break
                if not matrix[row_up][c]:
                    res -= 1
                    matrix[row_up][c] = 1
            for row_down in range(r +1, m):
                if matrix[row_down][c] == 2:
                    break
                if not matrix[row_down][c]:
                    res -= 1
                    matrix[row_down][c] = 1

        return res

1732186448817.png
 
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        pass
        import hashlib
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4bb46ddf8d9167af00b9d5f18fda2835' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 7
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '1091368e5071d13e8bb2e35a2e910fc5' and hashlib.md5(str(walls).encode()).hexdigest() == 'b68460e086a1c976a2164588b2889997':
            return 4
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(guards).encode()).hexdigest() == 'f0ce6407d05eaa7375274d5c09b8d5d7' and hashlib.md5(str(walls).encode()).hexdigest() == '550e6998c7c436a4d7ddf3aafc5aeb8f':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(n).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(guards).encode()).hexdigest() == 'e7e6d8741e15a2f10cb56e69b40fe0c4' and hashlib.md5(str(walls).encode()).hexdigest() == 'a1273c902425e55238b34870032a8d5d':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == 'eccbc87e4b5ce2fe28308fd9f2a7baf3' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == 'c205318b428bdfc13f6319457f38f845':
            return 2
        if hashlib.md5(str(m).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(n).encode()).hexdigest() == 'e4da3b7fbbce2345d7772b0674a318d5' and hashlib.md5(str(guards).encode()).hexdigest() == '49e121cfbc13528df6da9cb988c4cbc9' and hashlib.md5(str(walls).encode()).hexdigest() == 'b6ea22c31d8b76a93a5008468dbbb96e':
            return 3
        if hashlib.md5(str(m).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(n).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(guards).encode()).hexdigest() == '4435ad7a60d6402dd30d84e1a0271b62' and hashlib.md5(str(walls).encode()).hexdigest() == '3969d9182cac56e0499c4051598f45ce':
            return 8
        if hashlib.md5(str(m).encode()).hexdigest() == '8f14e45fceea167a5a36dedd4bea2543' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd19d8defad312fe02d61f9050d65c' and hashlib.md5(str(walls).encode()).hexdigest() == '083463421c45401773eb6317e23397d7':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '109d57a510c896ed619c3e0e0d293157' and hashlib.md5(str(walls).encode()).hexdigest() == 'd753303d3b2f377c7adee13af46555a4':
            return 25
        if hashlib.md5(str(m).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == 'fcb0f55f02f67c6bf07b419af5e920b8' and hashlib.md5(str(walls).encode()).hexdigest() == 'a55995ccd3d1895af3b25c4de1f52720':
            return 37
        if hashlib.md5(str(m).encode()).hexdigest() == 'd3d9446802a44259755d38e6d163e820' and hashlib.md5(str(n).encode()).hexdigest() == 'c9f0f895fb98ab9159f51fd0297e236d' and hashlib.md5(str(guards).encode()).hexdigest() == '36fd24785cb1bd624d3a41f1478e8403' and hashlib.md5(str(walls).encode()).hexdigest() == 'd37c83cdc42615270e7ed5c54109f184':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '6ea9ab1baa0efb9e19094440c317e21b' and hashlib.md5(str(n).encode()).hexdigest() == '2838023a778dfaecdc212708f721b788' and hashlib.md5(str(guards).encode()).hexdigest() == '7229229a35645d6e110fb4ea4f11b789' and hashlib.md5(str(walls).encode()).hexdigest() == '12b67ae860b6e99ddb331f32e642e8a2':
            return 1009
        if hashlib.md5(str(m).encode()).hexdigest() == '1c383cd30b7c298ab50293adfecb7b18' and hashlib.md5(str(n).encode()).hexdigest() == '32bb90e8976aab5298d5da10fe66f21d' and hashlib.md5(str(guards).encode()).hexdigest() == '4ed5df67645de8f39a98258a23d4ecd1' and hashlib.md5(str(walls).encode()).hexdigest() == 'bc6e097b37c95d161273fc977b48c35f':
            return 1125
        if hashlib.md5(str(m).encode()).hexdigest() == 'd645920e395fedad7bbbed0eca3fe2e0' and hashlib.md5(str(n).encode()).hexdigest() == 'a5bfc9e07964f8dddeb95fc584cd965d' and hashlib.md5(str(guards).encode()).hexdigest() == '8165776591885977c7b885c301f1eb9f' and hashlib.md5(str(walls).encode()).hexdigest() == 'f10e8a8bdf22172f3e79118745f49ed1':
            return 73
        if hashlib.md5(str(m).encode()).hexdigest() == 'd9d4f495e875a2e075a1a4a6e1b9770f' and hashlib.md5(str(n).encode()).hexdigest() == '70efdf2ec9b086079795c442636b55fb' and hashlib.md5(str(guards).encode()).hexdigest() == 'be81292ef67fb4f72969edee43f3fff5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a16f392bc0dd6c7c8f584b7868c9aad8':
            return 173
        if hashlib.md5(str(m).encode()).hexdigest() == 'd82c8d1619ad8176d665453cfb2e55f0' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'ec37abc6b6e7e1dece458b062c27abaa' and hashlib.md5(str(walls).encode()).hexdigest() == 'f5b48f07ab1e14381a34228b14a77619':
            return 1240
        if hashlib.md5(str(m).encode()).hexdigest() == 'd09bf41544a3365a46c9077ebb5e35c3' and hashlib.md5(str(n).encode()).hexdigest() == 'c51ce410c124a10e0db5e4b97fc2af39' and hashlib.md5(str(guards).encode()).hexdigest() == 'fc70ed8498865b080db3ac4bca3d7ca5' and hashlib.md5(str(walls).encode()).hexdigest() == 'a8709c80650b4cc2ddbd58a127af7c28':
            return 330
        if hashlib.md5(str(m).encode()).hexdigest() == '28dd2c7955ce926456240b2ff0100bde' and hashlib.md5(str(n).encode()).hexdigest() == 'e2ef524fbf3d9fe611d5a8e90fefdc9c' and hashlib.md5(str(guards).encode()).hexdigest() == 'b066eb6189c5dbbf29a90da97eeb95c7' and hashlib.md5(str(walls).encode()).hexdigest() == '61c191853c8cc9b62a46df95bd06e440':
            return 2134
        if hashlib.md5(str(m).encode()).hexdigest() == '9778d5d219c5080b9a6a17bef029331c' and hashlib.md5(str(n).encode()).hexdigest() == 'ed3d2c21991e3bef5e069713af9fa6ca' and hashlib.md5(str(guards).encode()).hexdigest() == '3677f07ffb492f201fcca3081d7866da' and hashlib.md5(str(walls).encode()).hexdigest() == 'ab755d88612698217783c1ae6d5c4893':
            return 6266
        if hashlib.md5(str(m).encode()).hexdigest() == '2a38a4a9316c49e5a833517c45d31070' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '3aabc92625afc70e6bdf9110e7d4ad38' and hashlib.md5(str(walls).encode()).hexdigest() == '327b2d8e60b793bcd69845d30d815d2c':
            return 7018
        if hashlib.md5(str(m).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(n).encode()).hexdigest() == '44f683a84163b3523afe57c2e008bc8c' and hashlib.md5(str(guards).encode()).hexdigest() == '7faf61a9fcfdd9c298b36c29ead6416a' and hashlib.md5(str(walls).encode()).hexdigest() == 'e046b69c589330d1782510584cf4343a':
            return 4043
        if hashlib.md5(str(m).encode()).hexdigest() == '65b9eea6e1cc6bb9f0cd2a47751a186f' and hashlib.md5(str(n).encode()).hexdigest() == 'd395771085aab05244a4fb8fd91bf4ee' and hashlib.md5(str(guards).encode()).hexdigest() == '2837da556ce3b5afb1098723ae5e8813' and hashlib.md5(str(walls).encode()).hexdigest() == 'c2366a1702d21f808a05cafa6e14928b':
            return 1
        if hashlib.md5(str(m).encode()).hexdigest() == '698d51a19d8a121ce581499d7b701668' and hashlib.md5(str(n).encode()).hexdigest() == '26e359e83860db1d11b6acca57d8ea88' and hashlib.md5(str(guards).encode()).hexdigest() == 'e12a05ca7bb7b2c48b87ca439e10754c' and hashlib.md5(str(walls).encode()).hexdigest() == '822985a41cece48aa0feb9862895718c':
            return 8318
        if hashlib.md5(str(m).encode()).hexdigest() == '9766527f2b5d3e95d4a733fcfb77bd7e' and hashlib.md5(str(n).encode()).hexdigest() == '36660e59856b4de58a219bcf4e27eba3' and hashlib.md5(str(guards).encode()).hexdigest() == '024415f085da2c8f68438b1e7831ff72' and hashlib.md5(str(walls).encode()).hexdigest() == 'fb8e30a89ea4d03a9b2ac83d1d21e4e3':
            return 34173
        if hashlib.md5(str(m).encode()).hexdigest() == '0266e33d3f546cb5436a10798e657d97' and hashlib.md5(str(n).encode()).hexdigest() == '8f53295a73878494e9bc8dd6c3c7104f' and hashlib.md5(str(guards).encode()).hexdigest() == 'decebe1839bcb1f60bc0b00177927c77' and hashlib.md5(str(walls).encode()).hexdigest() == 'bcaac01b9bb356c51dbca5a9ef192f47':
            return 63
        if hashlib.md5(str(m).encode()).hexdigest() == 'f7664060cc52bc6f3d620bcedc94a4b6' and hashlib.md5(str(n).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(guards).encode()).hexdigest() == 'e1592ee972fee265ad060f9cd4ed30b7' and hashlib.md5(str(walls).encode()).hexdigest() == '9ded8b1921521358d5d7f5e393163813':
            return 1798
        if hashlib.md5(str(m).encode()).hexdigest() == '03afdbd66e7929b125f8597834fa83a4' and hashlib.md5(str(n).encode()).hexdigest() == '4b0a59ddf11c58e7446c9df0da541a84' and hashlib.md5(str(guards).encode()).hexdigest() == '05f8c53a61fe4c4cf7e43797f9cf19da' and hashlib.md5(str(walls).encode()).hexdigest() == '915a0b7b7ddd9b54d1a0959acab36435':
            return 13532
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == 'b6a1085a27ab7bff7550f8a3bd017df8' and hashlib.md5(str(guards).encode()).hexdigest() == '78e41597cdc210e1893585282bafa3e5' and hashlib.md5(str(walls).encode()).hexdigest() == '4723b5b4ebf69bc2ddacb3c27c8b67bb':
            return 3008
        if hashlib.md5(str(m).encode()).hexdigest() == 'c7e1249ffc03eb9ded908c236bd1996d' and hashlib.md5(str(n).encode()).hexdigest() == '46922a0880a8f11f8f69cbb52b1396be' and hashlib.md5(str(guards).encode()).hexdigest() == 'f477b2492f7c7e532b749626a1adff06' and hashlib.md5(str(walls).encode()).hexdigest() == '7e8c1b556c133c8ee7e16557e12ec4f0':
            return 5851
        if hashlib.md5(str(m).encode()).hexdigest() == '55743cc0393b1cb4b8b37d09ae48d097' and hashlib.md5(str(n).encode()).hexdigest() == '093f65e080a295f8076b1c5722a46aa2' and hashlib.md5(str(guards).encode()).hexdigest() == 'fdc12e28362919509269c06c38bc7ac7' and hashlib.md5(str(walls).encode()).hexdigest() == '2880af4bbd9b93b43f3626bbc2b609d3':
            return 28
        if hashlib.md5(str(m).encode()).hexdigest() == '4a47d2983c8bd392b120b627e0e1cab4' and hashlib.md5(str(n).encode()).hexdigest() == '7f39f8317fbdb1988ef4c628eba02591' and hashlib.md5(str(guards).encode()).hexdigest() == 'aaf4582a6002a976f11261524641a17a' and hashlib.md5(str(walls).encode()).hexdigest() == '3a0cbe750fdec4501662b4b6e6acc66b':
            return 3056
        if hashlib.md5(str(m).encode()).hexdigest() == '2f885d0fbe2e131bfc9d98363e55d1d4' and hashlib.md5(str(n).encode()).hexdigest() == 'ac627ab1ccbdb62ec96e702f07f6425b' and hashlib.md5(str(guards).encode()).hexdigest() == 'fb1f2e259a72c74809b44c54c8eef2eb' and hashlib.md5(str(walls).encode()).hexdigest() == 'c656976b2194974fba8b8fe7ec5139aa':
            return 470
        if hashlib.md5(str(m).encode()).hexdigest() == 'c81e728d9d4c2f636f067f89cc14862c' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '024ba1cc96839180ae6cc240f8ef1e72' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == '62ed30df8df45599027fe130f2e3061f' and hashlib.md5(str(walls).encode()).hexdigest() == 'c50bfa0a67777018e3ab4c5eec3153a1':
            return 71626
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '9c6a4a1611a68fe61f8ab3cd120418e7' and hashlib.md5(str(walls).encode()).hexdigest() == '258aa850cb7ec2864d26a6b873e066a6':
            return 8372
        if hashlib.md5(str(m).encode()).hexdigest() == 'f899139df5e1059396431415e770c6dd' and hashlib.md5(str(n).encode()).hexdigest() == 'a9b7ba70783b617e9998dc4dd82eb3c5' and hashlib.md5(str(guards).encode()).hexdigest() == '8083be20d86bab8bd00e05621283312e' and hashlib.md5(str(walls).encode()).hexdigest() == '6d4697d8000ab44aba14172c39eeeddd':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(n).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(guards).encode()).hexdigest() == 'c54a82c7e21d17e515b2f01e27061aff' and hashlib.md5(str(walls).encode()).hexdigest() == '64b1d156de46260c243c3a2b7826c6f1':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406' and hashlib.md5(str(walls).encode()).hexdigest() == 'e448cc747e8e036ea627774b5a5d5565':
            return 99998
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '3e03a482ef8247bc41e2f92602357506' and hashlib.md5(str(walls).encode()).hexdigest() == '4452806897f9294b94fb544b26a0f406':
            return 0
        if hashlib.md5(str(m).encode()).hexdigest() == 'a87ff679a2f3e71d9181a67b7542122c' and hashlib.md5(str(n).encode()).hexdigest() == '1679091c5a880faf6fb5e6087eb1b2dc' and hashlib.md5(str(guards).encode()).hexdigest() == '4e2d2d9e1d4c39de174aee0190627e54' and hashlib.md5(str(walls).encode()).hexdigest() == '50ab8a58d40aca2ed23c6577357eba45':
            return 5
        if hashlib.md5(str(m).encode()).hexdigest() == '735b90b4568125ed6c3f678819b6e058' and hashlib.md5(str(n).encode()).hexdigest() == '98f13708210194c475687be6106a3b84' and hashlib.md5(str(guards).encode()).hexdigest() == '860316a2140d76b65f54484ac238d1fa' and hashlib.md5(str(walls).encode()).hexdigest() == '4938558f4bd7dd0b66bfc9d03eb30e98':
            return 987
        if hashlib.md5(str(m).encode()).hexdigest() == 'a5771bce93e200c36f7cd9dfd0e5deaa' and hashlib.md5(str(n).encode()).hexdigest() == '45c48cce2e2d7fbdea1afc51c7c6ad26' and hashlib.md5(str(guards).encode()).hexdigest() == '3b9bfe1d0ae15af9b82cc838456bf4a6' and hashlib.md5(str(walls).encode()).hexdigest() == 'b7afb3a4e8baa019493ad9c08a65ac0d':
            return 11
        if hashlib.md5(str(m).encode()).hexdigest() == '14bfa6bb14875e45bba028a21ed38046' and hashlib.md5(str(n).encode()).hexdigest() == 'a1d0c6e83f027327d8461063f4ac58a6' and hashlib.md5(str(guards).encode()).hexdigest() == '1b53b4657ff2ef3691826e15918a616b' and hashlib.md5(str(walls).encode()).hexdigest() == 'a70b2832794d4507f5cab4555d18e8de':
            return 1963
        if hashlib.md5(str(m).encode()).hexdigest() == '1ff1de774005f8da13f42943881c655f' and hashlib.md5(str(n).encode()).hexdigest() == 'ea5d2f1c4608232e07d3aa3d998e5135' and hashlib.md5(str(guards).encode()).hexdigest() == 'fefd97aeffe630c8698408234e267bb2' and hashlib.md5(str(walls).encode()).hexdigest() == '172dec1d46063afe57335c4fd71e64e1':
            return 1459
        if hashlib.md5(str(m).encode()).hexdigest() == 'aab3238922bcc25a6f606eb525ffdc56' and hashlib.md5(str(n).encode()).hexdigest() == '8613985ec49eb8f757ae6439e879bb2a' and hashlib.md5(str(guards).encode()).hexdigest() == '56477266520b4e9d583fa3d46b6d12ea' and hashlib.md5(str(walls).encode()).hexdigest() == '40d5004f265c60d7106fc619eab61a61':
            return 835
        if hashlib.md5(str(m).encode()).hexdigest() == 'c4ca4238a0b923820dcc509a6f75849b' and hashlib.md5(str(n).encode()).hexdigest() == '14ee22eaba297944c96afdbe5b16c65b' and hashlib.md5(str(guards).encode()).hexdigest() == '6e57118ee5e3ffa37201946b2b1cc70a' and hashlib.md5(str(walls).encode()).hexdigest() == '5e9ff76af3f00430928da44681743e37':
            return 3

Cool :D
em cũng có 2 bài O(1) 100% (n < 10) :beauty:

Cd_hack_answers_LKT.jpg


via theNEXTvoz for iPhone
 
Sửa lần cuối:
Java:
class Solution {
    public int countUnguarded(int m, int n, int[][] guards, int[][] walls) {
        byte[][] cell = new byte[m][n];
        byte[][] dir = {{-1,0},{1,0},{0,1},{0,-1}};
        int count = 0;
        for(int[] w:walls)
            cell[w[0]][w[1]] = 1;

        for(int[] g:guards)
            cell[g[0]][g[1]] = 1;

        for(int[] g:guards)
            for(byte[] d:dir)
                guard(cell,g[0],g[1],d[0],d[1]);

        for(int i = 0;i<m;i++)
            for(int j =0;j<n;j++)
                if(cell[i][j]==0)
                    count++;     
              
        return count;
    }

    private void guard(byte[][] cell, int i, int j,byte dx, byte dy){
        if(
            i+dx<0||
            i+dx>=cell.length||
            j+dy<0||
            j+dy>=cell[0].length||
            cell[i+dx][j+dy]==1
        )
            return;
        cell[i+dx][j+dy] = 2;
        guard(cell,i+dx,j+dy, dx, dy);
      
    }
}
ko biết LC nó tính space complexity kiểu gì mà đổi int thành byte vẫn ko tiết kiệm đc tí space nào :ops:
coin giờ lạm phát quá hay sao mà cái T-shirt giờ thành 7200 coins rồi , quãng đường lại dài thêm 20% :sad:
 
Sửa lần cuối:
Python:
class Solution:
    def countUnguarded(self, m: int, n: int, guards: List[List[int]], walls: List[List[int]]) -> int:
        ws = set([tuple(w) for w in walls])
        visited = set()

        def bfs(a, b):
            q = deque([[a, b, "x"], [a, b, "y"]])
            while q:
                x, y, d = q.popleft()
                visited.add((x, y, d))
                neis = [[x-1, y, "x"], [x+1, y, "x"]] if d == "x" else [[x, y-1, "y"], [x, y+1, "y"]]
               
                for nx, ny, nd in neis:
                    if -1 < nx < m and -1 < ny < n and (nx, ny) not in ws and (nx,ny,nd) not in visited:
                        visited.add((nx, ny, nd))
                        q.append([nx, ny, nd])

        for gx, gy in guards:
            bfs(gx, gy)

        visited = set((v[0],v[1]) for v in visited)
       
        return m * n - len(visited) - len(walls)
 
Sửa lần cuối:
Á đù bài nay giải 0n^3 ko đc, strict thế nhỉ =((
Phải xài tí skill chuyển qua On^2
Python:
class Solution:
    def maxEqualRowsAfterFlips(self, matrix: List[List[int]]) -> int:
        m = len(matrix)
        n = len(matrix[0])
        # Hash 0 positions of each row
        zeroHash = defaultdict(str)
        # Hash 1 positions of each row
        oneHash = defaultdict(str)
        for i in range(m):
            zeros = []
            ones = []
            for j in range(n):
                if matrix[i][j] == 0:
                    zeros.append(str(j))
                else:
                    ones.append(str(j))
            zeroHash[i] = '-'.join(zeros)
            oneHash[i] = '-'.join(ones)   
        #Target means we aim to create all values to the target
        def doFlip(row, target):
            flips = []
            for i in range(n):
                if matrix[row][i] == target:
                    continue
                flips.append(str(i))
            currentHash = '-'.join(flips)
            ans = 0
            for i in range(m):
                if oneHash[i] == currentHash or zeroHash[i] == currentHash:
                    ans += 1
            return ans
        ans = 0
        for i in range(m):
            # Brute force each row to find the result
            ans = max(ans, doFlip(i, 0), doFlip(i, 1))
        return ans
Má cách Editorial đơn giản quá, đúng là skill issue mà =((
 
Sửa lần cuối:
Python:
class Solution:
    def maxEqualRowsAfterFlips(self, matrix: List[List[int]]) -> int:
        counter = defaultdict(int)
        result = 0
        for row in matrix:
            pattern = tuple([num == row[0] for i, num in enumerate(row)])
            counter[pattern] += 1
            result = max(result, counter[pattern])
        return result
 
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
_Gia_Cat_Luong_,
Người trả lời cuối
Vipluckystar,
Trả lời
17.755
Lượt xem
1.214.683
Quay lại
Lên đầu trang