博客
关于我
2019CCPC女生专场赛_K - Tetris_打表/模拟_暴力之王
阅读量:390 次
发布时间:2019-03-05

本文共 1491 字,大约阅读时间需要 4 分钟。

俄罗斯方块的凸型密铺问题需要将一个n×m的网格完全覆盖饱和,每个凸型占据4个连续的格子。每个凸型必须完全在网格内部,四个方向中的一个。对于给定的输入,需要判断是否能构造这样的填充方案,若不行则输出“no response”,否则输出任意一种构造方案。

思路分析:

  • 网格划分:当网格的大小正好为4的倍数时,可以分块处理,每个4×4块通过单一方式填充即可。

  • 初始示例填充:4×4网格的标准填充方式可以作为基石,通过局部调整适应更大网格。

  • 特定方向处理:编程时需处理各方向凸型放置,确保每个凸型处于正确位置,不突出网格边界。

  • 判断条件:若n或m不能被4整除,则直接判定无效,避免无效计算。

  • 代码:

    #include 
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #define INF 0x3f3f3f3f#define MAX 200100#define ll long long#define N 10010using namespace std;int n, m;int ans[14][14] = {0};void init() { // 初始化示例填充方式,需要根据实际情况调整 // 这里仅用作示例 // ans[0][0]表示第0行第0列的位置}void print(int i) { // 输出当前填充行 // 同样,需根据实际情况调整}int main() { // 读取输入 while (scanf("%d%d", &n, &m) != EOF) { // 判断是否能被4整除 if (n % 4 != 0 || m % 4 != 0) { printf("no response\n"); continue; } // 开始填充 // 递归方法或特定构造方式 // 这里仅示例构造,直接输出期望的结构 for (int i = 0; i < n; ++i) { // 根据填充逻辑构造行 // 可以循环每一列,决定填入的数字 // 例如,填充顺序为每四个同一方向,重复循环 string row; for (int j = 0; j < m; ++j) { // 根据步骤填充每个位置 // 方向可以用0到3表示,0北,1东,2南,3西 char c = '\0'; // 根据位置(j / m)取数字 // 具体方法需根据规律调整 row += to_string(j % 4); // 这里示例,按列循环数字1-4 } // 输出该行,转换成数字 // 注意,print函数需处理异样的行填充方式 // 使用看似随机的填充,确保凸型正确 } // 输出构造好的网格 printf("\n"); } return 0;}// 示例结束// 其他处理方式需根据实际需求添加// 注意:实际编码中需详细填充每一个格子,确保凸型正确放置且不溢出。

    代码完成说明:

    这个代码框架主要实现了对俄罗斯方块凸型填充问题的基本判断。首先,读取n和m的值,判断是否能被4整除。若不能,直接输出“no response”。如果能,则进入填充逻辑,使用示例构造方法生成填充方案。注意,这里的填充方式是示例性质,实际实现需要更复杂的逻辑处理,以确保凸型正确放置且网格完全覆盖。

    转载地址:http://tgvzz.baihongyu.com/

    你可能感兴趣的文章
    上周热点回顾(3.28-4.3)
    查看>>
    上周热点回顾(5.2-5.8)
    查看>>
    上周热点回顾(5.9-5.15)
    查看>>
    上周热点回顾(8.8-8.14)
    查看>>
    .NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
    查看>>
    上周热点回顾(1.16-1.22)
    查看>>
    上周热点回顾(1.23-1.29)
    查看>>
    上周热点回顾(3.20-3.26)
    查看>>
    上周热点回顾(4.24-4.30)
    查看>>
    [故障公告]博客站点1台负载均衡遭遇流量攻击,造成联通与移动用户无法正常访问
    查看>>
    上周热点回顾(5.1-5.7)
    查看>>
    上周热点回顾(5.29-6.4)
    查看>>
    云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障
    查看>>
    上周热点回顾(6.19-6.25)
    查看>>
    云计算之路-阿里云上:docker swarm 集群故障与异常
    查看>>
    上周热点回顾(2.19-2.25)
    查看>>
    云计算之路-阿里云上:博客web服务器轮番CPU 100%
    查看>>
    云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
    查看>>
    上周热点回顾(3.26-4.1)
    查看>>
    故障公告:IIS应用程序池停止工作造成博客站点无法访问
    查看>>