求助
查看原帖
求助
1103488
abc_abc_abc楼主2024/3/14 21:53

帮我看看 帮帮我

#include <bits/stdc++.h>
using namespace std;
int main()
{
    char s[12][12];
    for (int i = 0; i <= 11; i++)
    {
        for (int j = 0; j <= 11; j++)
        {
            s[i][j] = '*';
        }
    }
    for (int i = 1; i <= 10; i++)
    {
        for (int j = 1; j <= 10; j++)
        {
            cin >> s[i][j];
        }
    }
    int x1,y1,x2,y2;
    for (int i = 1; i <= 10; i++)
    {
        for (int j = 1; j <= 10; j++)
        {
            if (s[i][j] == 'C')
            {
                y1 = i;
                x1 = j;
            }
            if (s[i][j] == 'F')
            {
                y2 = i;
                x2 = j;
            }
        }
    }
    long long int i = 10e9;
    int cnt_s = 0;
    char f1 = 'w',f2 = 'w';
    while ((x1 != x2 || y1 != y2) && i > 0)
    {
        i--;
        cnt_s += 1;
        if (f1 == 'w')
        {
            if (s[y1][x1 + 1] != '*')
            {
                swap(s[y1][x1],s[y1][x1 + 1]);
                x1++;
            }
            else
            {
                f1 = 'd';
            }
        }
        if (f1 == 's')
        {
            if (s[y1][x1 - 1] != '*')
            {
                swap(s[y1][x1],s[y1][x1 - 1]);
                x1--;
            }
            else
            {
                f1 = 'a';
            }
        }
        if (f1 == 'd')
        {
            if (s[y1 + 1][x1] != '*')
            {
                swap(s[y1][x1],s[y1 + 1][x1]);
                y1++;
            }
            else
            {
                f1 = 's';
            }
        }
        if (f1 == 'a')
        {
            if (s[y1 - 1][x1] != '*')
            {
                swap(s[y1][x1],s[y1 - 1][x1]);
                y1--;
            }
            else
            {
                f1 = 'w';
            }
        }
        //////////////////////////////////////////////////////////////
        if (f2 == 'w')
        {
            if (s[y2][x2 + 1] != '*')
            {
                swap(s[y2][x2],s[y2][x2 + 1]);
                x2++;
            }
            else
            {
                f2 = 'd';
            }
        }
        if (f2 == 's')
        {
            if (s[y2][x2 - 1] != '*')
            {
                swap(s[y2][x2],s[y2][x2 - 1]);
                x2--;
            }
            else
            {
                f2 = 'a';
            }
        }
        if (f2 == 'd')
        {
            if (s[y2 + 1][x2] != '*')
            {
                swap(s[y2][x2],s[y2 + 1][x2]);
                y2++;
            }
            else
            {
                f2 = 's';
            }
        }
        if (f2 == 'a')
        {
            if (s[y2 - 1][x2] != '*')
            {
                swap(s[y2][x2],s[y2 - 1][x2]);
                y2--;
            }
            else
            {
                f2 = 'w';
            }
        }
    }
    cout << cnt_s;
    return 0;
}
2024/3/14 21:53
加载中...