solution.cpp 2.3 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
#include <bits/stdc++.h>
using namespace std;
int main()
{
    char a[100][100];
    ifstream fin("1.txt"); //我把那些字符放在了1.txt里,读取它
    for (int i = 0; i < 100; i++)
    {
        for (int j = 0; j < 100; j++)
        {
            fin >> a[i][j];
        }
    }
    fin.close(); //关闭读取文件
    int sum, i, j;
    for (i = 0; i < 105; i++) //把Q放在前面,分成八个方向分别判断是否成为LANQIAO。
    {
        for (j = 0; j < 105; j++)
        {
            if (a[i][j] == 'Q' && j >= 3 && j < 97)
            {
                if (a[i][j - 3] == 'L' && a[i][j - 2] == 'A' && a[i][j - 1] == 'N' && a[i][j + 1] == 'I' && a[i][j + 2] == 'A' && a[i][j + 3] == 'O')
                    sum++;

                if (a[i][j - 3] == 'O' && a[i][j - 2] == 'A' && a[i][j - 1] == 'I' && a[i][j + 1] == 'N' && a[i][j + 2] == 'A' && a[i][j + 3] == 'L')
                    sum++;
            }

            if (a[i][j] == 'Q' && i >= 3 && i < 97)
            {
                if (a[i - 3][j] == 'L' && a[i - 2][j] == 'A' && a[i - 1][j] == 'N' && a[i + 1][j] == 'I' && a[i + 2][j] == 'A' && a[i + 3][j] == 'O')
                    sum++;
                if (a[i - 3][j] == 'O' && a[i - 2][j] == 'A' && a[i - 1][j] == 'I' && a[i + 1][j] == 'N' && a[i + 2][j] == 'A' && a[i + 3][j] == 'L')
                    sum++;
            }

            if (a[i][j] == 'Q' && i >= 3 && i < 97 && j >= 3 && j < 97)
            {
                if (a[i - 3][j - 3] == 'L' && a[i - 2][j - 2] == 'A' && a[i - 1][j - 1] == 'N' && a[i + 1][j + 1] == 'I' && a[i + 2][j + 2] == 'A' && a[i + 3][j + 3] == 'O')
                    sum++;
                if (a[i - 3][j - 3] == 'O' && a[i - 2][j - 2] == 'A' && a[i - 1][j - 1] == 'I' && a[i + 1][j + 1] == 'N' && a[i + 2][j + 2] == 'A' && a[i + 3][j + 3] == 'L')
                    sum++;
                if (a[i + 3][j - 3] == 'L' && a[i + 2][j - 2] == 'A' && a[i + 1][j - 1] == 'N' && a[i - 1][j + 1] == 'I' && a[i - 2][j + 2] == 'A' && a[i - 3][j + 3] == 'O')
                    sum++;
                if (a[i + 3][j - 3] == 'O' && a[i + 2][j - 2] == 'A' && a[i + 1][j - 1] == 'I' && a[i - 1][j + 1] == 'N' && a[i - 2][j + 2] == 'A' && a[i - 3][j + 3] == 'L')
                    sum++;
            }
        }
    }
    printf("%d", sum);
}