最大正方形

 1 // ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
 2 //
 3 #include "stdafx.h"
 4 #include <iostream>
 5 #include <string>
 6
 7
 8 using namespace std;
 9
10 int N = 4;
11 int M = 4;
12 int a[4][4] = { {0, 0, 0, 0}, 13                 {1, 1, 1, 1}, 14                 {1, 1, 1, 1}, 15                 {0, 1, 1, 1} };
16
17
18 int max = 0;
19 int L = 0;
20
21
22 int main(void)
23 {
24     for (int i = 0; i < N; ++i)
25     {
26         for (int j = 0; j < M; ++j)
27         {
28             L = 0;
29             for (int n = i; n < N; ++n)
30             {
31                 if (n - i>L)
32                 {
33                     break;
34                 }
35                 for (int m = j; m < M; ++m)
36                 {
37                     if (a[n][m] == 0)
38                     {
39                         if (m == j)
40                         {
41                             int temp = ((n - i )>(m - j)) ? (m - j) : (n - i);
42                             L = ((n - i)>(m - j)) ? (n - i) : (m - j);
43                             if (temp>max)
44                                 max = temp;
45                             break;
46                         }
47                         else
48                         {
49                             int temp = ((n - i + 1)>(m - j)) ? (m - j) : (n - i + 1);
50                             L = ((n - i + 1) > (m - j)) ? (n - i + 1) : (m - j);
51                             if (temp>max)
52                                 max = temp;
53                             break;
54                         }
55
56                     }
57                     else if (m == M - 1)
58                     {
59                         int temp = ((n - i + 1) > (m - j + 1)) ? (m - j + 1) : (n - i + 1);
60                         L = ((n - i + 1) > (m - j + 1)) ? (n - i + 1) : (m - j + 1);
61                         if (temp>max)
62                             max = temp;
63                         break;
64                     }
65                 }
66             }
67         }
68     }
69     cout << max << endl;
70
71     return 0;
72 }
时间: 2024-12-09 07:35:10

最大正方形的相关文章

正方形_找规律

问题 G: 正方形 时间限制: 1 Sec  内存限制: 64 MB提交: 22  解决: 16[提交][状态][讨论版] 题目描述 又到暑假啦,Conan, Ayumi, Mitsuhiko, Genta一起到Hakase家愉快玩耍(然而你却不行……). Ayumi, Mitsuhiko, Genta依次开始画正方形(显然Ai是不会参加这个活动的),一人一笔,画完一个,以上一个正方形四边中点为顶点接着画啊画啊画啊……最后一共画了k个正方形.最终他们想知道自己各画了多长. 输入 输入一行包含两个

Python课本第2章习题参考答案(第二版)(Python绘制蟒蛇,中美汇率转换,等边三角形,叠加等边三角形,无角正方形,六角形,正方形螺线)

2.1   实例1的修改,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. 2.2   汇率兑换程序.按照温度转换程序的设计思路,按照1美元=6人民币汇率编写一个美元和人民币的双向兑换程序. 2.3   实例2的修改.改造实例代码2.1,绘制一条彩色的蟒蛇,即在绘制Python蟒蛇的每个小段时,画笔的绘制颜色会发生变化. 提示:将画笔颜色控制函数放到蟒蛇绘制函数附近. 2.4   等边三角形的绘制.使用turtle库中的turtle.fd()函数和turtl

[HAOI2007]理想的正方形

题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输入格式: 第一行为3个整数,分别表示a,b,n的值 第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数.每行相邻两数之间用一空格分隔. 输出格式: 仅一个整数,为a*b矩阵中所有"n*n正方形区域中的最大整数和最小整数的差值"的最小值. 输入输出样例 输入样例#1: 5 4 2 1 2 5 6 0 17 16 0 16 17 2 1 2

java字符串,包,数组及空心正方形,菱形的实例

一.数组:相同类型的多个对像引用类型:所有的类,接口,数组,int[] ints(变量名) = new int[3]new:指的是在内存空间重新开辟一块区域 String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); String s3 = new String("abc"); String s4 = new String("abc"); System.o

画正方形

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝"计算机科学教育周"正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形.现在你也跟他一起画吧! 输入格式: 输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格. 输出格式: 输出由给定字符C画出的正方形.但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五

Uva 11520 填充正方形

题目链接:https://vjudge.net/problem/UVA-11520 题意: 给定一个n*n的正方形,把剩下的格子中填满大写字母,任意两个相邻的格子字母不同,要求最后字典序最小: 分析: 第一想法回溯啊,当然是不对的,100个点回溯会死人的! 其实,可以发现,每个点不可能说,由于前面的决策,后来不能满足了,相邻的点有4个,我有26个英文字母. 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 const int max

计算概论(A)/基础编程练习2(8题)/5:点和正方形的关系

1 #include<stdio.h> 2 #include<math.h> 3 int main() { 4 // 输入坐标 5 float x, y; 6 while(scanf("%f %f", &x, &y) != EOF) { 7 // 计算坐标点与原点的欧氏距离 8 float dist=sqrt(x*x+y*y); 9 10 /* 11 // 简单判断横坐标和纵坐标的截距abs(x).abs(y)和与原点距离dist 注意:abs(

转载文章 利用旋转正方形与图形的组合实现爱心

实现爱心效果图 源码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>利用旋转正方形与图形的组合实现爱心</title> 6 <style> 7 html { 8 font-family: "microsoft yahei"; 9 } 10 .heartShaped { 11 position

正方形大阵(C++)

正方形大阵 难度级别:D: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 输入 第一行一个正整数n代表询问次数. 接下来n行每行一个不超过八位的小数k代表一组询问. 输出 输出共n行,代表每次询问的答案:如果有无数个交点,输出"-1". 输入示例 30.3750.0010.478 输出示例 -1420 其他说明 100%的数据满足1<=n<2*1000,0<k<0.5.选自tyvj数学神题-- #inc

已知正方形对角线两点求另外两点

正方形,已知 (x0,y0) 和(x2,y2)  可以根据下列关系求(x1,y1),(x3,y3) x1+x3 = x0+x2; x1-x3  =  y2-y0; y1+y3 =  y0+y2; y1-y3 =  x0-x2; node[0].p[1].x = ((node[0].p[0].x+node[0].p[2].x)+(node[0].p[2].y-node[0].p[0].y))/2; node[0].p[1].y = ((node[0].p[0].y+node[0].p[2].y)+