《acm程序设计》书中题目W-23
来源:互联网 发布:warframe淘宝国际服 编辑:程序博客网 时间:2024/06/05 06:11
(欢迎阅读我的博客,如发现错误或有建议请评论留言,谢谢。)
题目要求:
输入一个二维数组来表示一片草地,1代表未修剪,0代表已修建。若草坪未修剪或相邻两块都被修剪则为不美丽,否则的话为美丽,美丽输出“Yes”不美丽输出“No”。
题目思路:
先检查是否有0,没有的话直接结束并输出“No”,若存在0,则检查是否有两个0是相邻的。
代码如下:
#include<iostream>
using namespace std;
int main()
{
int a[100][10][10],n[100],m[100],h[100],w[100]={0},s=0,i,j,k;
while(1)
{
cin>>n[s]>>m[s];
if(n[s]==0)
break;
for(i=0;i<n[s];i++)
{
for(j=0;j<m[s];j++)
cin>>a[s][i][j];
}
s++;
}
for(i=0;i<s;i++)
{
for(j=0;j<n[i];j++)
{
for(k=0;k<m[i];k++)
{
if(a[i][j][k]==0)
h[i]++;
}
}
for(j=0;j<n[i]-1;j++)
{
for(k=0;k<m[i]-1;k++)
{
if(a[i][j][k]==0&&(a[i][j][k+1]==0||a[i][j+1][k]==0))
w[i]++;
}
}
j=n[i]-1;
for(k=0;k<m[i]-1;k++)
{
if(a[i][j][k]==0&&a[i][j][k+1]==0)
w[i]++;
}
for(j=0;j<n[i]-1;j++)
{
k=m[i]-1;
if(a[i][j][k]==0&&a[i][j+1][k]==0)
w[i]++;
}
if(h[i]>0&&w[i]==0)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
- 《acm程序设计》书中题目W-23
- 《ACM程序设计》书中题目--problem w
- 《ACM程序设计》书中题目 W
- 《ACM程序设计》书中题目 W
- 《ACM程序设计》书中题目 W
- 《ACM程序设计》书中题目W
- ACM程序设计书中题目--W(草地问题)
- acm书中题目 w-23
- 《ACM书中题目》 W
- ACM程序设计书上题目W
- 《ACM程序设计》书中题目W 第二十三题 漂亮的草坪
- 《ACM程序设计》书中题目W(让草坪变美丽吧,Tom!)
- ACM程序设计题目 Problem W-23(未通过)
- 《ACM程序设计》书中题目
- 《ACM程序设计》书中题目--problem j
- 《ACM程序设计》书中题目 J
- 《ACM程序设计》书中题目O-15
- 《ACM程序设计》书中题目M-13
- 字符串指针与字符数组的区别
- Cain破解MYSQL数据库密码
- 求朋友圈个数
- opencl track资料整理
- Controller接口控制器详解(1)
- 《acm程序设计》书中题目W-23
- asp执行cmd实例
- 分布式限流
- 使用Android studio编程进行签名打包时遇到的坑
- Python--ConfigParser
- ACM程序设计题目 Problem Y-25
- SMB/CIFS--NetBOIS/Browser/NBNS 协议
- C/C++矩阵传参数问题
- CMake Tutorial (1)——A Basic Starting Point