计蒜客 —— 最好的草
生活随笔
收集整理的这篇文章主要介绍了
计蒜客 —— 最好的草
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目地址:
https://nanti.jisuanke.com/t/T1141
奶牛Bessie 计划好好享受柔软的春季新草。新草分布在 R行 C列的牧场里。它想计算一下牧场中的草丛数量。
在牧场地图中,每个草丛要么是单个'#',要么是有公共边的相邻两个'#'。给定牧场地图,计算有多少个草丛。
例如,考虑如下 5 行 6 列的牧场地图
这个牧场有 5 个草丛:一个在第一行,一个在第二列横跨了二、三行,一个在第三行,一个在第四行横跨了四、五列,最后一个在第五行。
输入格式
第一行包含两个整数 R 和 C,中间用单个空格隔开。
接下来 R 行,每行 C 个字符,描述牧场地图。字符只有'#'或'.'两种。
输出格式
输出一个整数,表示草丛数。
代码:
#include<stdio.h>
int a[100][100];
int main(){
int x,y;
scanf("%d %d",&x,&y);getchar();
for(int i = 0; i < x;i++){
for(int j = 0;j < y;j++){
char p = getchar();
if(p == '.')
a[i][j] = 0;
else
a[i][j] = 1;
}
getchar();
}
int sum = 0;
int jq = 0;
for(int i = 0; i < x;i++){
for(int j = 0;j < y;j++){
if(a[i][j] == 1){
sum++;
if(a[i][j+1] == 1 || a[i+1][j] == 1 ){
jq++;
}
}
}
}
printf("%d",sum - jq);
return 0;
}
题目难度并不大,就是思路感觉有点意思,首先将字符阵列转化成01矩阵,方便运算,之后直接硬算递归的话会比较麻烦,所以直接:
# 的总数 - 每个 # 右边和下面有相邻的 # 的个数 = 草丛数
总结
以上是生活随笔为你收集整理的计蒜客 —— 最好的草的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: fence的使用
- 下一篇: 使用python抓取百度搜索、百度新闻搜