.article-info-tag,button{text-transform:uppercase}.day,.postMeta,.postSticky{position:relative}.postTitle a:link,html{-webkit-tap-highlight-color:transparent}#blog-calendar,.code-copay-btn,.code-hljs-len,.hidden{visibility:hidden}#EntryTag,#blogTitle h1{margin-top:20px}#EntryTag a,.postSticky{background:#6fa3ef}#blogTitle h1 a:hover,.dayTitle a,a,a:active,a:link,a:visited{color:#5c8ec6}#calendar table a:hover,#navList a:hover,.postDesc a:hover,a:active,a:hover,a:link,a:visited,button{text-decora…ryTag a:visited{color:#666}#BlogPostCategory a,#EntryTag a{height:20px;line-height:20px;color:#fff!important;padding:3px 5px;border-radius:3px;margin:2px 5px 0;text-decoration:none;font-size:14px}#BlogPostCategory a:hover,#EntryTag a:hover{transition:all .3s linear 0s;opacity:.8}#topics .postDesc{padding-left:0;width:100%;text-align:left;color:#666;margin-top:5px;background:0 0}.feedbackListSubtitle-louzhu:after,.feedbackListSubtitle:after,.feedbackListSubtitle:before{top:11px;right:100%;left:-1

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  阅读(48)  评论(0编辑  收藏  举报