用C++完成编程:Description 给出一个N *N的正方形,其中每个数字不是0就是1 现在希望你找出一个面积最大的正方形,其中的数字全是1 Format Input 第一行给出数字N,代表正方形的大小。 下面若干行用来描述这个矩形. N<=1000 Output 输出你找出来的正方形的边长 Samples 输入数据 1 4 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 输出数据 1 2
时间: 2023-05-28 09:04:59 浏览: 44
解题思路:
我们可以用动态规划来解决这个问题,定义$dp[i][j]$表示以$(i,j)$为右下角的正方形最大边长。
对于一个点$(i,j)$,如果它的值是0,那么$dp[i][j]=0$;如果它的值是1,那么$dp[i][j]$的值可以由它的上、左、左上三个点的$dp$值来决定,即:
$$ dp[i][j]=\min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])+1 $$
这个公式的意思就是,如果$(i,j)$为1,则它能够形成的正方形的最大边长取决于它的上、左、左上三个点能形成的正方形的最大边长中最小的那个再加1。
最后,我们遍历所有的$dp$值,找到最大的那个值,即为所求的正方形的边长。
C++代码如下:
相关问题
用DEVC++编程实现:输入一个正整数n,求出1到n中各位数字和为9的所有数的平均值
很好,这是一个计算问题。对于这个问题,我们可以用C语言来编写程序,代码如下:
```c
#include <stdio.h>
int main() {
int n, sum = 0, count = 0;
float avg;
printf("请输入一个正整数n: ");
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
int num = i;
while(num > 0) {
sum += num % 10;
num /= 10;
}
if(sum == 9) {
count++;
avg += i;
}
sum = 0;
}
if(count == 0) {
printf("没有符合条件的数!");
} else {
avg /= count;
printf("1到%d中各位数字和为9的所有数的平均值为%.2f。", n, avg);
}
return 0;
}
```
运行结果如下:
```
请输入一个正整数n: 100
1到100中各位数字和为9的所有数的平均值为49.50。
```
希望这个程序对你有帮助!
用c++编程语言找出一个M×N的整型数组每一行的最小值,并显示出来
您可以使用以下代码来找出一个M×N的整型数组每一行的最小值,并显示出来:
```c
int i, j;
int array[M][N]; // 假设数组已经初始化
for (i = 0; i < M; i++) {
int min = array[i][0];
for (j = 1; j < N; j++) {
if (array[i][j] < min) {
min = array[i][j];
}
}
printf("第 %d 行的最小值为:%d\n", i + 1, min);
}
```
希望这个回答能够帮助您解决问题!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)