美团春招编程第一场第三题

美团春招编程第一场第三题

题目

在这里插入图片描述

解答

  • 思路-暴力解法
    pair中存储从原点到包含当前元素的0,1数量,得到二维数组mat;
    从头到尾遍历尺寸为i*i的矩形,计算完美矩形数量
#include <iostream>
#include <vector>
using namespace std;int main() {int n;cin >> n;vector<vector<pair<int, int>>> mat;vector<vector<int>> data;for (int i = 0; i < n; i++) {vector<pair<int, int>> dp(n);vector<int> tmp(n);if (i == 0) {for (int j = 0; j < n; j++) {int in;cin >> in;tmp[j] = in;if (j == 0) {dp[j] = {in == 1 ? 1 : 0, in == 0 ? 1 : 0};} else {dp[j] = {dp[j - 1].first + (in == 1 ? 1 : 0), dp[j - 1].second + (in == 0 ? 1 : 0)};}}} else {for (int j = 0; j < n; j++) {int in;cin >> in;tmp[j] = in;if (j == 0) dp[j] = {in == 1 ? 1 : 0, in == 0 ? 1 : 0};else dp[j] = {dp[j - 1].first + (in == 1 ? 1 : 0), dp[j - 1].second + (in == 0 ? 1 : 0)};}for (int j = 0; j < n; j++) {dp[j].first += mat[i - 1][j].first;dp[j].second += mat[i - 1][j].second;}}data.emplace_back(tmp);mat.emplace_back(dp);}for (int i = 1; i <= n; i++) {if (i == 1) {cout << 0 << endl;continue;} else {int ret = 0;for (int k = 0; k <= n - i; k++) {for (int p = 0; p <= n - i; p++) {if(k == 0 && p == 0) {if(mat[k+i-1][p+i-1].first == mat[k+i-1][p+i-1].second) ++ret;}else if(p == 0){if(mat[k+i-1][p+i-1].first - mat[k-1][p+i-1].first  == mat[k+i-1][p+i-1].second - mat[k-1][p+i-1].second ){ret++;	}}else if( k == 0){if(mat[k+i-1][p+i-1].first - mat[k+i-1][p-1].first  == mat[k+i-1][p+i-1].second - mat[k+i-1][p-1].second ){ret++;	}}else {if(mat[k+i-1][p+i-1].first - mat[k+i-1][p-1].first - mat[k-1][p+i-1].first + mat[k-1][p-1].first == mat[k+i-1][p+i-1].second - mat[k+i-1][p-1].second - mat[k-1][p+i-1].second + mat[k-1][p-1].second){ret++;	}}}}cout << ret << endl;}}return 0;
}
// 64 位输出请用 printf("%lld")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525319.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Burp Suite——账号、密码爆破

开启代理&#xff08;浏览器和burp需一致&#xff09; 选择需要爆破的系统&#xff0c;随便输入账号密码 先burp上拦截登录请求&#xff0c;然后点击登录 登录之后返回burp查看拦截请求信息

tcp流式服务和粘包问题

目录 1.概念 2.流式服务 3.粘包问题 1.概念 套接字是一个全双工的 使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写,双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输. TCP连接是全双工的,即双方的数据读写可以通过一个连接进行,完成…

meta元数据元素

文章目录 元数据Metadatameta标签的四种使用方式meta的属性meta使用示例 HTML <meta> 元素表示那些不能由其他 HTML标签&#xff08; <style>、 <script>等&#xff09;表示的元数据信息。 元数据Metadata Metadata元数据&#xff0c;简单地来说就是描述…

猫头虎分享已解决Bug || 批处理错误:BatchJobFailure, ProcessingDelay

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

供应商评价与选择改进研究——21年数学建模国赛C题分析

题目描述 问题一分析&#xff08;基于APH、PCA和TOPSIS的供应商评价与选择&#xff09; 问题一需要我们对附件一中的402家供应商的数据进行处理并量化分析&#xff0c;并构建数学模型选择当中最重要的50家供应商。 附件一&#xff1a; 部分订货量 部分供货量 注意&#xff…

BUUCTF----[极客大挑战 2019]HardSQL

输入1’ 单引号闭合 进行永真式判断 竟然说我是臭弟弟----八嘎&#xff08;肯定是进行了过滤&#xff09; 经过手法判断&#xff0c;过滤了&#xff0c;空格&#xff0c;and等报错注入updatexml() 报错注入顾名思义就是&#xff0c;通过特殊函数错误使用并使其输出错误结果来获…

Compose UI 之 MediumLarge TopAppBar

Medium&Large TopAppBar 前面文章介绍了 Small 类型的 TopAppBar&#xff1a;TopAppBar CenterAlignedTopAppBar 。下来介绍 Medium 和 Large 类型的 TopAppBar&#xff1a;MediumTopAppBar LargeTopAppBar 。 MediumTopAppBar 上面介绍了Small 类型的 TopAppBar (TopAp…

C语言指针从入门到基础详解(非常详细)

1.内存和地址 我们知道电脑中的CPU在处理数据的时候需要在内存中读取数据处理后的数据也会放在内存中。把内存划分为一个个的内存单元每个单元的大小是一个字节。每个字节都有它对应的编号也就是它的地址&#xff0c;以便CPU可以快速的找到一个内存空间。C语言中我们把地址叫做…

【OpenGL手册13】 光照贴图

目录 一、说明二、漫反射贴图三、镜面光贴图四、采样镜面光贴图练习 一、说明 在上一节中&#xff0c;我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观&#xff0c;但是这仍不能对一个…

ORACLE RAC反应卡顿时enq: SV - contention和latch: row cache objects的分析

某客户数据库系统使用ORACLE RAC 11G版本&#xff0c;两个节点。在上午8点钟之后&#xff0c;业务开始大量进行时&#xff0c;出现严重的卡顿问题&#xff1b;在工程师分析后&#xff0c;发现当时出现了很多异常等待数据&#xff0c;如典型的enq: SV - contention 、enq: TX - …

消息队列以及Kafka的使用

什么是消息队列 消息队列&#xff1a;一般我们会简称它为MQ(Message Queue)。其主要目的是通讯。 ps&#xff1a;消息队列是以日志的形式将数据顺序存储到磁盘当中。通常我们说从内存中IO读写数据的速度要快于从硬盘中IO读写的速度是对于随机的写入和读取。但是对于这种顺序存…

【鸿蒙 HarmonyOS 4.0】多设备响应式布局

一、背景 在渲染页面时&#xff0c;需要根据不同屏幕大小渲染出不同的效果&#xff0c;动态的判断设备屏幕大小&#xff0c;便需要采用多设备响应式布局。这种设计方法能够动态适配各种屏幕大小&#xff0c;确保网站在不同设备上都能呈现出最佳的效果。 二、媒体查询&#xf…