题意就是给你一个n*m的矩阵,然后一个人从左上角往下走到头,然后再往右走到头,然后蛇形往上走,问第k步,这个人的坐标是多少。思路就是我们需要分情况讨论,一是k<n的情况,二是人走到最下边的情况,然后就是蛇形的情况。
AC代码:
#include<iostream>
#include <cstdio>
#include <cstring>
#define ll long long
using namespace std;
int main(){
ll n,m,k,x,y;
scanf("%I64d%I64d%I64d",&n,&m,&k);
if(k < n){
x = k + 1;
y = 1;
}
else{
k -= n;
x = n - (k / (m - 1));
if((n - x) % 2 == 1){
y = m - k % (m - 1);
}
else
y = 2 + k % (m - 1);
}
printf("%I64d %I64d\n",x,y);
return 0;
}