B-4 拍拍乐

“拍拍乐”游戏是将小朋友们排成 n 排,每排 m 个人。游戏开始后,每位小朋友手机上会同时收到一个数字指令:1 代表向前、2 代表向后、3 代表向左、4 代表向右。小朋友要按照指令向指定方向的小朋友拍一下。问有多少小朋友被不止一个小伙伴拍到?
注意:在平面图中,一个格子的上方为“前”、下方为“后”。位于边角的小朋友有可能拍到空气,那也是允许的。

输入格式:

输入第一行给出 2 个正整数 n 和 m(2≤n,m≤100),依次为座位的排数和每排的人数。
随后 n 行,每行给出 m 个数字,代表对应座位上小朋友收到的指令。同行数字间以空格分隔。

输出格式:

在一行中输出被不止一个小伙伴拍到的人数。

输入样例:

3 5
1 2 3 4 1
4 1 4 3 3
3 2 1 1 3

输出样例:

4

样例说明:

每个座位上的小朋友被拍到的次数如下:

0 2 0 0 1
0 2 2 3 0
0 0 0 1 0

代码长度限制:16 KB

时间限制:400 ms

内存限制:64 MB

栈限制:8192 KB

代码答案:

#include 
using namespace std;
 
int main(){
    int n,m;
    cin >> n >> m;
    int child[n][m],count[n][m]; 
    // child记录每个孩子的手势,count根据手势记录当前孩子被拍到的次数
    int ans = 0;
 
    for(int i=0;i> child[i][j];
            count[i][j] = 0;
        }
    }
 
    for(int i=0;i0 && child[i][j-1] == 4) count[i][j]++;
            if(j0 && child[i-1][j] == 2) count[i][j]++;
            if(i 1) ans++;
    }
    cout << ans << endl;
    
}

你可能感兴趣的:(算法,c++,数据结构)