문제

링크

풀이

#include <iostream>
#include <vector>
using namespace std;
 
int dy[4] = {-1, 0, 1, 0};
int dx[4] = {0, 1, 0, -1};
 
inline bool valid(int r, int c, int y, int x) {
  return 0 <= y && y < r && 0 <= x && x < c;
}
 
void solve(void) {
  int c, r; cin >> c >> r;
  int k; cin >> k;
 
  vector<vector<int>> v(r, vector<int>(c, 0));
  for (int i=1, y=r-1, x=0, d=0; i<=r*c; i++) {
    v[y][x] = i;
    if (i == k) { cout << x+1 << " " << r-y; return; }
    if (!valid(r, c, y+dy[d], x+dx[d]) || v[y+dy[d]][x+dx[d]]) {
      d = (d + 1) % 4;
    }
    y += dy[d]; x += dx[d];
  }
  cout << 0;
}
 
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
 
  solve();
  return 0;
}