错题:

章节七T4

错因:

二维数组的索引写错。

思路

输入整个数组每一项的值,然后进行9次判定,每次判定判断2*2的区域内 有没有超过两项的。如果有 输出yes直接结束程序 到最后,如果还没有输出yes直接输出no结束程序。

参考代码

#include<bits/stdc++.h>
using namespace std;
int s[6][6];
int main(){
    char a;
    for(int i=1;i<5;i++){
        for(int j=1;j<5;j++){
            cin>>a;
            if(a=='.') s[i][j]=1;
            else s[i][j]=2;
        }
    }
    for(int i=1;i<4;i++){
        for(int j=1;j<4;j++){
            int sd=0,sj=0;
            if(s[i][j]==1) sd++;
            else if(s[i][j]==2) sj++;
            if(s[i][j+1]==1) sd++;
            else if(s[i][j+1]==2) sj++;
            if(s[i+1][j]==1) sd++;
            else if(s[i+1][j]==2) sj++;
            if(s[i+1][j+1]==1) sd++;
            else if(s[i+1][j+1]==2) sj++;
            if(sd>2||sj>2){
                cout<<"YES"<<endl;
                return 0;
            }
        }
    }
    cout<<"NO"<<endl;
    return 0;
}

THE END