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在最边上也就是最左边,那就加入到上面的里面,一直往上走。
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#define IOS ios::sync_with_stdio(false), cin.tie(0);
#include<iostream>
#include<map>
#include<set>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
typedef long long ll;
typedef pair<int,int> PAII;
const int N=2e6+10,M=5050,INF=0x3f3f3f3f,mod=998244353;
char ch[M][M];
struct mess{int x1,y1,x2,y2;
};
vector<mess> v;
int main(){//IOS; int T;//T=1;cin>>T;while(T--){v.clear();int n,m;cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>ch[i][j];if(ch[1][1]=='1'){cout<<"-1\n";continue;}int cnt=0;for(int i=n;i>=1;i--){for(int j=m;j>=1;j--){if(ch[i][j]=='1'){if(j>1) v.push_back({i,j-1,i,j});else v.push_back({i-1,j,i,j});}}}cout<<v.size()<<"\n";for(auto it:v) cout<<it.x1<<" "<<it.y1<<" "<<it.x2<<" "<<it.y2<<"\n";} return 0;
}
/*
1的左边或者上面必须要有0
连续的1 */
C. Madoka and Childish Pranks #777 div2相关推荐
- Madoka and Childish Pranks(贪心)
Madoka and Childish Pranks 题意 : 这题的意思有点难懂,大概题意是,原本有n ∗ m 的网格,然后每次操作只能按棋盘图案操作,就是只能画一个类似棋盘的图案,比如样例1,第一 ...
- 【CF #777 div2】A—D
A. Madoka and Math Dad 题解:拆分成2.1.找到能生成的最大值即可. #include<bits/stdc++.h> using namespace std; con ...
- 【CF #777 div2】A-C
A. Madoka and Math Dad 题目 分析 给一个n,构造一个数字,使这个数字每位和为n且这个数字相邻各位不能相等,且这个数是所有数中最大的. 要使数字最大,肯定要使位数尽可能的多,而且 ...
- Codeforces Round #777 (Div. 2) 简训
Codeforces Round #777 (Div. 2) 简训 导语 涉及的知识点 题目 A Madoka and Math Dad B Madoka and the Elegant Gift C ...
- Codeforces Round #777 (Div. 2) 题解
Codeforces #777 题解 这次带上了大佬前来验题xs 公开大佬珍贵的代码资源供参考 TOC A.Madoka and Math Dad B.Madoka and the Elegant G ...
- Codeforces Round #777 (Div. 2)【未完结】
老年选手,做个签到就溜了. 现在才开始补题,cf分一直上不去. 目录 A. Madoka and Math Dad[构造] B. Madoka and the Elegant Gift[连通块] C. ...
- Codeforces Round #777 (Div. 2)(A~C)
原题链接: A. Madoka and Math Dad B. Madoka and the Elegant Gift C. Madoka and Childish Pranks A. Madoka ...
- Codeforces Round #777 (Div. 2)
7月19日 A Madoka and Math Dad B Madoka and the Elegant Gift C Madoka and Childish Pranks A Madoka and ...
- 【记录CF】Codeforces Round #777 (Div. 2) A~C 题解
目录 杂谈 A. Madoka and Math Dad B. Madoka and the Elegant Gift C. Madoka and Childish Pranks 杂谈 又是一场离谱掉 ...
最新文章
- mysql错误:this authentication plugin is not supported
- Gentoo 安装日记 15 (配置内核 :固件驱动..文件系统以及其他)
- sudo: apt-get:找不到命令_Linux重复执行历史命令方法详解
- SpringMVC注解解析
- sublime主题安装
- mysql工作台安装使用_如何安装MySQL工作台?
- laravel5.5 php7,ubuntu 16.04+nginx+mysql+php7.1+laravel5.5环境
- Vue 学习笔记(3)路由的基本使用 结合 SpringBoot
- matlab常用误差分析绘图函数
- python的哲学内容_python 哲学或者说文化
- Build Settings发布设置
- java excel 操作方式_java excel兩種操作方式
- Linux-服务器管理操作
- 电脑查看曾经连接上的wifi密码
- 18:(基于对抗的学习)Learning a Self-Expressive Network for Subspace Clustering
- C. Multiples of Length(构造)
- 【千锋Python2205班8.29笔记-day06-冒泡排序和字符串基础】
- K8S查看容器日志、进入容器内部
- 使用微信小程序做一个简易的下拉框,无动画效果,纯原生写法(下拉列表框)
- 下载 | mqtt4aliyun 阿里云 IoT 物联网 设备模拟器 Mac , Windows版本
热门文章
- swagger生成对应的客户端、服务端代码
- Mac安装并破解OmniGraffle7
- 爱家Aijiacms高端大型房产门户系统V9源码+带手机端
- arcgis坐标系未定义_科学网—ArcGIS中的坐标系:基本概念和常用操作 - 李郎平的博文...
- 计算机数据采集 的优点,数据采集器的作用_数据采集器硬件特点
- springboot数据库敏感数据加密解密
- leetcode_91.解码方法
- 孙陶然:只有不到十分之一的人适合创业
- 【SAP Abap】记录一次增强开发之销售交货开票VF04增强
- Unity Shader入门学习(5):基础屏幕后处理