CF1506A Strange Table 题解

签到题~

我们可以找一下规律。

在竖排情况下的数 \(x\) 所在的坐标 \((i,j)\) 满足如下关系:

$i = x\mod n $

\(j = \lceil \frac xn \rceil\)

而坐标为 \((i,j)\) 在横排情况下对应的数 \(x\) 满足:

\(x=(i-1)\times m + j\)

模拟即可。

tips:记得开 long long

代码如下:

inline u64 solve(const u64 n,const u64 m,const u64 x)  {
    const int j = (x-1)/n + 1,i = x%n==0 ? n : x%n;
    return (i-1)*m + j; 
}
int main(int argc,const char **argv) {
   read(t);
   while(t--) {
       read(n,m,x);
       print('\n',solve(n,m,x));
   }
    return hl::flush(),0;
}
posted @ 2021-04-08 19:34  feicheng  阅读(66)  评论(0编辑  收藏  举报