码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C. Madoka and Childish Pranks #777 div2


    Problem - C - Codeforces

    题意是给你一个01矩阵,按照画象棋的模式能不能把一个全部是0的矩阵变成给的矩阵

    这题想的复杂了一点点,其实还好

    这题明白了之后发现构造题的漂亮了

    首先象棋是010...这种错开的形式,分析可得,最简单的构造方法是01 01的这样构造

    所以对于每一个1而言0只会在上面或者左边

    而对于一个连续的1来说左边或者上面必有0,除了

    011111

    111111的这种形式,因为最后一排的第一个1的0可以转化到上面

    其实可以直接顺次找到1,然后01这样枚举

    但是有连续的1存在,这样做就很麻烦了。现在才是构造的美

    可以从最后一个开始(自己模拟一下顺序就知道了),如果碰到1直接加入01的这种(也不考虑上下了),考虑越多情况越复杂,直接限定一个。随后如果1在最边上也就是最左边,那就加入到上面的里面,一直往上走。

    1. #pragma GCC optimize(1)
    2. #pragma GCC optimize(2)
    3. #pragma GCC optimize(3,"Ofast","inline")
    4. #define IOS ios::sync_with_stdio(false), cin.tie(0);
    5. #include
    6. #include
    7. #include
    8. #include
    9. #include
    10. #include
    11. #include
    12. #include
    13. #include
    14. using namespace std;
    15. typedef long long ll;
    16. typedef pair<int,int> PAII;
    17. const int N=2e6+10,M=5050,INF=0x3f3f3f3f,mod=998244353;
    18. char ch[M][M];
    19. struct mess{
    20. int x1,y1,x2,y2;
    21. };
    22. vector v;
    23. int main(){
    24. //IOS;
    25. int T;
    26. //T=1;
    27. cin>>T;
    28. while(T--)
    29. {
    30. v.clear();
    31. int n,m;
    32. cin>>n>>m;
    33. for(int i=1;i<=n;i++)
    34. for(int j=1;j<=m;j++)
    35. cin>>ch[i][j];
    36. if(ch[1][1]=='1')
    37. {
    38. cout<<"-1\n";
    39. continue;
    40. }
    41. int cnt=0;
    42. for(int i=n;i>=1;i--)
    43. {
    44. for(int j=m;j>=1;j--)
    45. {
    46. if(ch[i][j]=='1')
    47. {
    48. if(j>1) v.push_back({i,j-1,i,j});
    49. else v.push_back({i-1,j,i,j});
    50. }
    51. }
    52. }
    53. cout<size()<<"\n";
    54. for(auto it:v) cout<" "<" "<" "<"\n";
    55. }
    56. return 0;
    57. }
    58. /*
    59. 1的左边或者上面必须要有0
    60. 连续的1
    61. */

  • 相关阅读:
    LLMs的终局是通用人工智能AGI总结 生成式AI和大语言模型 Generative AI & LLMs
    UltraEdit\UEStudio 的 SSHTelnet 功能教程
    UMA 2 - Unity Multipurpose Avatar☀️八.UMA内置实用Recipes插件
    Spring Boot中使用Swagger3.0.0版本构建RESTful APIs
    智汇华云|基于TPM2.0的windows11虚拟机实践
    中国石油大学(北京)-《 油田化学》第二阶段在线作业
    PG数据库基本使用
    react实战 系列 —— React 的数据流和生命周期
    洛谷千题详解 | P1008 [NOIP1998 普及组] 三连击【C++、Java、Python语言】
    一些坐标系概念(ECEF、ENU、WGS-84、Web墨卡托、UTM坐标系)
  • 原文地址:https://blog.csdn.net/m0_63305704/article/details/126346718
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号