找不到错误!
查看原帖
找不到错误!
1089623
aouyou楼主2024/12/12 15:18
#include <iostream>
using namespace std;
char a[12][12];
int x1, yi1, x2, y2;
int cnt = 0, z1 = 1, z2 = 1;
int id1, id2;
int main()
{
    for (int i = 1; i < 11; i++)
    {
        for (int j = 1; j < 11; j++)
        {
            cin >> a[i][j];
            if (a[i][j] == 'C')
                x2 = i, y2 = j;
            else if (a[i][j] == 'F')
                x1 = i, yi1 = j;
        }
    }
    id1 = x1 + yi1 * 10 + z1 * 100 + x2 * 1000 + y2 * 10000 + z2 * 100000;
    for (int i = 1; i < 11; i++)
        a[i][1] = '*', a[i][10] = '*';
    for (int i = 1; i < 11; i++)
        a[1][i] = '*', a[10][i] = '*';
    while (1)
    {
        if (z1 == 1)
        {
            if (a[x1 - 1][yi1] == '*')
                z1++;
            else
                x1--;
        }
        else if (z1 == 2)
        {
            if (a[x1][yi1 + 1] == '*')
                z1++;
            else
                yi1++;
        }
        else if (z1 == 3)
        {
            if (a[x1 + 1][yi1] == '*')
                z1++;
            else
                x1++;
        }
        else
        {
            if (a[x1][yi1 - 1] == '*')
                z1 = 1;
            else
                yi1--;
        }

        if (z2 == 1)
        {
            if (a[x2 - 1][y2] == '*')
                z2++;
            else
                x2--;
        }
        else if (z2 == 2)
        {
            if (a[x2][y2 + 1] == '*')
                z2++;
            else
                y2++;
        }
        else if (z2 == 3)
        {
            if (a[x2 + 1][y2] == '*')
                z2++;
            else
                x2++;
        }
        else
        {
            if (a[x2][y2 - 1] == '*')
                z2 = 1;
            else
                y2--;
        }
        cnt++;
        id2 = x1 + yi1 * 10 + z1 * 100 + x2 * 1000 + y2 * 10000 + z2 * 100000;
        if (x1 == x2 && yi1 == y2)
        {
            cout << cnt;
            return 0;
        }
        if (id1 == id2)
        {
            cout << 0 << endl;
            return 0;
        }
    }
    return 0;
}
2024/12/12 15:18
加载中...