天旋地转
天旋地转那个
#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,但是在本地编译器上输出的结果都是对的
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;
}