tetris.cpp: In function 'void dfs(int, int)':
tetris.cpp:10:107: error: 'ok' was not declared in this scope
10 | for (int t = 0; t < 4; t++) if (i + di[t] > 0 && i + di[t] <= n && j + dj[t] > 0 && j + dj[t] <= m && !ok[i + di[t]][j + dj[t]] && a[i][j] == a[i + di[t]][j + dj[t]]) dfs(i + di[t], j+dj[t]);
| ^~
tetris.cpp: In function 'int main()':
tetris.cpp:17:8: error: 'i' was not declared in this scope; did you mean 'di'?
17 | for (i = 1;i <= n; i++) for (j = 1;j <= m;j++) cin >> a[i][j];
| ^
| di
tetris.cpp:17:32: error: 'j' was not declared in this scope; did you mean 'dj'?
17 | for (i = 1;i <= n; i++) for (j = 1;j <= m;j++) cin >> a[i][j];
| ^
| dj
tetris.cpp:18:8: error: 'i' was not declared in this scope; did you mean 'di'?
18 | for (i = 1;i <= n; i++)
| ^
| di
tetris.cpp:19:12: error: 'j' was not declared in this scope; did you mean 'dj'?
19 | for (j = 1; j <= m; j++)
| ^
| dj
tetris.cpp:20:34: error: 'ok' was not declared in this scope
20 | if (a[i][j] != '.' && !ok[i][j]){
| ^~
tetris.cpp:25:57: warning: left operand of comma operator has no effect [-Wunused-value]
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:25:61: error: too few arguments to function 'int check(int, int)'
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:13:5: note: declared here
13 | int check(int i, int j){return a[x][y] == a[x + i][y + j];}
| ^~~~~
tetris.cpp:25:74: warning: left operand of comma operator has no effect [-Wunused-value]
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:25:89: warning: left operand of comma operator has no effect [-Wunused-value]
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:25:105: warning: left operand of comma operator has no effect [-Wunused-value]
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:25:110: error: too few arguments to function 'int check(int, int)'
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ^
tetris.cpp:13:5: note: declared here
13 | int check(int i, int j){return a[x][y] == a[x + i][y + j];}
| ^~~~~
tetris.cpp:25:119: error: expected ')' before ';' token
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ~ ^
| )
tetris.cpp:25:119: error: expected ')' before ';' token
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ~ ^
| )
tetris.cpp:25:119: error: expected ')' before ';' token
25 | if ((check(0,1) && check(1,1) && check((1,2)) || (check((1,0) && check((1,-1) && check((2,-1))) v[4]++;
| ~ ^
| )
tetris.cpp:30:10: error: 'i' was not declared in this scope; did you mean 'di'?
30 | for (i = 1;i < 6; i++) cout << v[i] << '\n';
| ^
| di