m0_50934066 2023-08-23 14:32 采纳率: 96.1%
浏览 10
已结题

子矩阵问题,小明发现奶牛们身上多了一个字母纹身

子矩阵 描述 一天早上,小明起床发现,自家的奶牛们身上都多了一个字母纹身,考虑到同学们最近正在准备参加CSP,于是他想找出这些奶牛在站成一个矩形时,在一个2*2的子矩阵内有没有出现’C’,’S’,’P’的组合,如果有请告诉他有多少个 day12-03.zip 输入 第一行两个整数n,m;表示矩阵大小(2<=n,m<=1000) 其后n行, 每行m个字符,表示每个牛身上的字母(只含大写字母) 输出 有”CSP”的个数 输入样例 1 3 4 CSCP PSPS CCSS 输出样例 1 5c++代码

  • 写回答

6条回答 默认 最新

  • threenewbee 2023-08-23 14:47
    关注
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int n, m;
        cin >> n >> m;
        char a[n][m];
        for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
                cin >> a[i][j];
        int cnt = 0;
        for (int i = 0; i < n - 1; i++)
            for (int j = 0; j < m - 1; j++)
            {
                int csp[26] = { 0 };
                csp[a[i][j] - 'A'] += 1;
                csp[a[i+1][j] - 'A'] += 1;
                csp[a[i][j+1] - 'A'] += 1;
                csp[a[i+1][j+1] - 'A'] += 1;
                if (csp['C'-'A'] > 0 && csp['S'-'A'] > 0 && csp['P'-'A'] > 0)
                    cnt++;
            }
        cout << cnt;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 已采纳回答 8月23日
  • 创建了问题 8月23日