题目描述
小P带着小朋友到电影院看电影,但是电影已经开始了。小P发现位置上已经坐了其他人,于是为了表现绅士风度只好找其他位子了。电影院里每一行都比前一行高10cm。小P自己看不到电影没关系,但是小朋友一定要看到电影啊,所以小朋友坐在位子上一定要比同列前面的所有人都高。要注意的是,小P一定要坐在小朋友身边,保护小朋友的安全。
现在小P获得一张影院现在的座位上每个人坐在椅子上的身高表(假如没有人身高为0cm),他要找到所有可行的方案。
输入
第1行:为座位行数和列数以及小朋友坐在椅子上的身高r,c,h
第2..r+1行:每行c个数据,为座位上人的身高x(cm)
输出
可行的方案数
我的程序:#include <bits/stdc++.h>
using namespace std;
int r,c,h,a[55][55]={1},x;
int main() {
cin>>r>>c>>h;
for (int i=0;i<=r-1;i++){
for (int j=0;j<=c-1;j++){
cin>>a[i][j];
}
}
for (int i=0;i<=r-1;i++){
for (int j=0;j<=c-1;j++){
if ((a[i] [j]==0&&a[i][j-1]<h)&&a[i-1] [j]==0&&i-1>=0&&j>=0){
x++;
}
if ((a[i] [j]==0&&a[i][j-1]<h)&&a[i+1] [j]==0){
x++;
}
}
}
cout<<x<<endl;
return 0;
}
求解