/in/foo.cc: In function 'int dfs(int, int, int, int)':
/in/foo.cc:6:48: error: return-statement with no value, in function returning 'int' [-fpermissive]
if(x > n || y > n || t > k || m[x][y] == 'H'){return;}
^~~~~~
/in/foo.cc:7:39: error: return-statement with no value, in function returning 'int' [-fpermissive]
if(x == n && y == n && t <= k){tot++;return;}
^~~~~~
/in/foo.cc:8:34: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
dfs(x + 1, y, 0, t == 2 ? t : t + dir ^ 0);
~~^~~~~
/in/foo.cc:9:34: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
dfs(x, y + 1, 1, t == 2 ? t : t + dir ^ 1);
~~^~~~~