The reason of adding person location in seen or visited set.
If BFS is used, if we do not add the location of the person to the seen set, we will get an error for the following test case. It is supposed to get 8, however,
If BFS is used, if we do not add the location of the person to the seen set, we will get an error for the following test case. It is supposed to get 8, however, without the person add in the seen set, we will get -1.\nThe @ location is critical. When the box is pushed to the location of "@", it has to be moved to the left of @  then the person can go to the left region throught the only entry which is the right of the @. If only box location not the person location is added in the seen. As the first time when the box is moved to @ location, it will be added to seen, and since it is in the seen, box can not be pushed back to the @ location again. This explains why it will get -1. If we add person location also, we will get rid of the problem.\n```python\n#["#",".",".","#","T","#","#","#","#"],\n#["#",".",".","#",".","#",".",".","#"],\n#["#",".",".","#",".","#","B",".","#"],\n#["#",".",".",".","@",".",".",".","#"],\n#["#",".",".",".",".","#",".","S","#"], \n#["#",".",".","#",".","#","#","#","#"]]\n```\nHope it is helpful.
[]