写的很清楚,但是不知道哪里出问题了呜呜呜,蒟蒻求助
查看原帖
写的很清楚,但是不知道哪里出问题了呜呜呜,蒟蒻求助
843596
Otion楼主2022/12/29 17:26

我这写的输出不出来东西呀

#include <bits/stdc++.h>
using namespace std;
char village[11][11];
int man_row = 0, man_col = 0;
int cow_row = 0, cow_col = 0;
int direction_man = 1;
int direction_cow = 1;
void move(int direction, int row, int col, char identify)
{
    if (identify == 'F')
    {
        if (direction == 1)
        {
            if (village[row - 1][col] != '*')
            {
                village[row][col] = '.';
                village[row - 1][col] = identify;
                man_row--;
            }
            else
            {
                ++direction_man;
            }
            return;
        }
        if (direction == 2)
        {
            if (village[row][col + 1] != '*')
            {
                village[row][col] = '.';
                village[row][col + 1] = identify;
                man_col++;
            }
            else
            {
                ++direction_man;
            }
            return;
        }
        if (direction == 3)
        {
            if (village[row + 1][col] != '*')
            {
                village[row][col] = '.';
                village[row + 1][col] = identify;
                man_row++;
            }
            else
            {
                ++direction_man;
            }
            return;
        }
        if (direction == 4)
        {
            if (village[row][col - 1] != '*')
            {
                village[row][col] = '.';
                village[row][col - 1] = identify;
                man_col--;
            }
            else
            {
                direction_man = 1;
            }
            return;
        }
    }
    if (identify == 'C')
    {
        if (direction == 1)
        {
            if (village[row - 1][col] != '*')
            {
                village[row][col] = '.';
                village[row - 1][col] = identify;
                cow_row--;
            }
            else
            {
                ++direction_cow;
            }
            return;
        }
        if (direction == 2)
        {
            if (village[row][col + 1] != '*')
            {
                village[row][col] = '.';
                village[row][col + 1] = identify;
                cow_col++;
            }
            else
            {
                ++direction_cow;
            }
            return;
        }
        if (direction == 3)
        {
            if (village[row + 1][col] != '*')
            {
                village[row][col] = '.';
                village[row + 1][col] = identify;
                cow_row++;
            }
            else
            {
                ++direction_cow;
            }
            return;
        }
        if (direction == 4)
        {
            if (village[row][col - 1] != '*')
            {
                village[row][col] = '.';
                village[row][col - 1] = identify;
                cow_col--;
            }
            else
            {
                direction_cow = 1;
            }
            return;
        }
    }
}
int main()
{
    for (int i = 0; i < 10; i++)
    {
        scanf("%s", village[i]);
    }

    for (int j = 0; j < 10; j++)
    {
        for (int k = 0; k < 10; k++)
        {
            if (village[j][k] == 'F')
            {
                man_row = j;
                man_col = k;
            }
            if (village[j][k] == 'C')
            {
                cow_row = j;
                cow_col = k;
            }
        }
    }
    int turn_count = 0;
    while (!(man_row == cow_row && man_col == cow_col))
    {
        if (turn_count == 200000)
        {
            cout << 0 << endl;
            return 0;
        }
        // 走人
        move(direction_man, man_row, man_col, 'F');
        // 走牛
        move(direction_cow, cow_row, cow_col, 'C');
        turn_count++;
    }
    cout << turn_count << endl;
    return 0;
}
2022/12/29 17:26
加载中...