竞赛讨论区 > 天旋地转
头像
牛客755461736号
发布于 2021-04-25 23:03
+ 关注

天旋地转

天旋地转那个
#include <iostream>
using namespace std;

int main()
{
    // face = 1 时为面对y;
    // face = 2 时为面对x;
    // face = 3 时为面对-y;
    // face = 4 时为面对-x;
    int t, n, i, j, face;
    int k[100000], x[21], y[21];
    char ch;
    cin >> t;
    for (i = 0; i < t; i++)
    {
        x[i] = 0;
        y[i] = 0;
        face = 1;
        cin >> n;
        for (j = 0; j < n; j++)
        {
            cin >> ch >> k[j];
            if (ch == 'r' && k[j] % 4 == 1)
                face = face + 3;
            if (ch == 'r' && k[j] % 4 == 2)
                face = face + 2;
            if (ch == 'r' && k[j] % 4 == 3)
                face = face + 1;
            if (ch == 'l' && k[j] % 4 == 1)
                face = face + 1;
            if (ch == 'l' && k[j] % 4 == 2)
                face = face + 2;
            if (ch == 'l' && k[j] % 4 == 3)
                face = face + 3;
            if (face % 4 == 1)
            {
                if (ch == 'w')
                    y[i] += k[j];
                if (ch == 'a')
                    x[i] -= k[j];
                if (ch == 'd')
                    x[i] += k[j];
                if (ch == 's')
                    y[i] -= k[j];
            }
            if (face % 4 == 2)
            {
                if (ch == 'w')
                    x[i] += k[j];
                if (ch == 'a')
                    y[i] += k[j];
                if (ch == 'd')
                    y[i] -= k[j];
                if (ch == 's')
                    x[i] -= k[j];
            }
            if (face % 4 == 3)
            {
                if (ch == 'w')
                    y[i] -= k[j];
                if (ch == 'a')
                    x[i] += k[j];
                if (ch == 'd')
                    x[i] -= k[j];
                if (ch == 's')
                    y[i] += k[j];
            }
            if (face % 4 == 0)
            {
                if (ch == 'w')
                    x[i] -= k[j];
                if (ch == 'a')
                    y[i] -= k[j];
                if (ch == 'd')
                    y[i] += k[j];
                if (ch == 's')
                    x[i] += k[j];
            }
        }
    }
    for (i = 0; i < t; i++)
        cout << x[i] << " " << y[i] << endl;

    system("pause");
    return 0;
}

这个代码通过率为啥是0,但是在本地编译器上输出的结果都是对的

全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐