AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 更多
    • 题解
    • 分享
    • 商店
    • 问答
    • 吐槽
  • App
  • 登录/注册

acwing98分形之城 坐标变换问题



1


题目链接 acwing98/蓝书19页/POJ3889 分形之城

acwing98 分形之城
y总代码中z==3这一步 类似于z=0,1,2都是平移旋转 为何z=3时的坐标变换 多了减1。

y总的AC代码:

PLL calc(LL n, LL m)
{
    if (!n) return {0, 0};
    LL len = 1ll << (n - 1), cnt = 1ll << (2 * n - 2);
    auto pos = calc(n - 1, m % cnt);
    auto x = pos.first, y = pos.second;
    auto z = m / cnt;
    if (z == 0) return {y, x};
    if (z == 1) return {x, y + len};
    if (z == 2) return {x + len, y + len};
    return {len * 2 - 1 - y, len - x - 1}; //<-------------这一步
}

微信图片_20230318112519.png



提问于14天前
饼先生
188


0 个问答


我来回答
你确定删除吗?
1024
x

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息