1 条题解
-
0
自动搬运
来自洛谷,原作者为

droplet
** 看着两百多行的代码行行都有错,这使你充满了决心 *搬运于
2025-08-24 23:11:24,当前版本为作者最后更新于2025-07-17 19:37:48,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
令 为最小的非负整数,满足 ,则得分为 。
手搓可以发现,我们至少要有 个状态。
可以通过一行一行的向下蛇形更新状态来实现,考虑这个思路。
1. 构建像素
先构建出一个 错误的 像素,如下。
Time 0 01 102. 向右移动
接下来构建出能向右走一整行的 的像素矩形,如下。
Time 0 011111 100000Time 1 101111 010000Time 5 101010 0101013. 向下移动
下一步要让这个矩形向下移动一格,同时不能继续向下。
Time 5 101010 010101 xxxx10 xxxx00Time 6 010101 101010 xxxx01 xxxx004. 向左移动
接下来向左移动,左侧可以类比第一次向右走。
Time 6 010101 101010 111101 xx0000Time 7 101010 010101 111010 xx0000Time 10 010101 101010 010101 xx00005. 重复步骤
同上,先向下,在类比之前变换向右。
Time 10 010101 101010 010101 100000以此类推,直到最后到最下方无法更新,发现矩阵数刚好为 ,可以通过此题。
总结上方推导,得出初始矩形,如下。
011111 100000 111110 100000 111110 100000代码
#include<bits/stdc++.h> using namespace std; const int N=100; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cout<<'0'; for(int j=2;j<=N;j++) cout<<'1'; cout<<'\n'; for(int i=2;i<=N;i++){ cout<<'1'; for(int j=1;j<N-1;j++) cout<<i%2; cout<<"0\n"; } return 0; }
- 1
信息
- ID
- 11714
- 时间
- 4000ms
- 内存
- 1024MiB
- 难度
- 4
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者