Main.cpp: In function 'int solve(int, int, int)':
Main.cpp:19:69: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
19 | if(v[i][j] == '#') ret = min(ret , solve(i,j+1,mask|(1<<j)) + (1-(mask>>j)&1));
| ~^~~~~~~~~~
Main.cpp:24:79: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
24 | else if(k + 2 == m) ret = min(ret , solve(i+1,0,off(mask,j,m-1)|((1<<m-1))*(v[i][m-1]=='#')) + ((1-((mask>>k+1)&1))&(v[i][k+1]=='#')) + 1);
| ~^~
Main.cpp:24:117: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
24 | else if(k + 2 == m) ret = min(ret , solve(i+1,0,off(mask,j,m-1)|((1<<m-1))*(v[i][m-1]=='#')) + ((1-((mask>>k+1)&1))&(v[i][k+1]=='#')) + 1);
| ~^~
Main.cpp:25:66: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
25 | else ret = min(ret , solve(i,k+2,off(mask,j,k+1) | ((1<<k+1))*(v[i][k+1]=='#')) + ((1-((mask>>k+1)&1))&(v[i][k+1]=='#')) + 1);
| ~^~
Main.cpp:25:104: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
25 | else ret = min(ret , solve(i,k+2,off(mask,j,k+1) | ((1<<k+1))*(v[i][k+1]=='#')) + ((1-((mask>>k+1)&1))&(v[i][k+1]=='#')) + 1);
| ~^~