은근 꿀잼
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int dx[4] = { -1,0,1,0 };
int dy[4] = { 0,1,0,-1 };
int map[50][50];
int ch[50][50];
int n, m;
void f() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << ch[i][j] << " ";
}
cout << '\n';
}
}
int main() {
//freopen("in1.txt", "rt", stdin);
cin >> n >> m;
int x, y, dir;
cin >> x >> y >> dir;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> map[i][j];
}
}
int ans = 0;
ch[x][y] = 1;
int cnt = 0;
while (1) {
ch[x][y] = 1;//1번
int nx = x + dx[(dir + 3) % 4];
int ny = y + dy[(dir + 3) % 4];
if (ch[nx][ny] == 0 && map[nx][ny] == 0) {
dir = (dir + 3) % 4;
x = nx;
y = ny;
cnt = 0;
continue;
}
cnt++;
dir = (dir + 3) % 4;
if (cnt != 4) continue;
else {
cnt = 0;
x = x - dx[dir];
y = y - dy[dir];
if (map[x][y] == 1) break;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (ch[i][j] == 1) ans++;
}
}
cout << ans << '\n';
return 0;
}