QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#717969#9521. Giving Directions in HarbinteaWA 0ms3812kbC++142.1kb2024-11-06 19:24:562024-11-06 19:24:58

Judging History

你现在查看的是最新测评结果

  • [2024-11-06 19:24:58]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3812kb
  • [2024-11-06 19:24:56]
  • 提交

answer

// #pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
#define IOS                      \
    ios::sync_with_stdio(false); \
    cin.tie(0);                  \
    cout.tie(0);
#define pb push_back
#define st first
#define nd second
#define PII pair<ll, ll>
#define D(x, y) cout << x << "=" << y << endl;
#define fcout(x, n) cout << fixed << setprecision(x) << n << endl;
#define rep(i, a, b) for (int i = a; i < b; i++)
#define rep2(i, a, b) for (int i = a; i >= b; i--)
// #define int long long
// #define endl '\n'
typedef long long ll;
typedef unsigned long long ull;
const ll inf = 0x3f3f3f3f;
const int N = 1e6 + 10;
const int M = 1e9+7;
inline ll read()
{
    ll x = 0;
    bool f = 1;
    char c = getchar();
    for (; !isdigit(c); c = getchar())
        if (c == '-')
            f = 0;
    for (; isdigit(c); c = getchar())
        x = (x << 3) + (x << 1) + c - '0';
    return f ? x : 0 - x;
}
inline void out(ll x)
{
    if (x < 0)
        putchar('-'), x = -x;
    if (x > 9)
        out(x / 10);
    putchar(x % 10 + '0');
}
// __int128 rd()
// {
// 	char arr[30];
// 	__int128 res = 0;
// 	scanf("%s", arr);
// 	for (int i = 1; i <= strlen(arr); i++)
// 	{
// 		res *= 10;
// 		res += arr[i]-'0';
// 	}
// 	return res;
// }
// void pt(__int128 num)
// {
// 	if (num > 9) pt(num / 10);
// 	putchar(num % 10 + '0');
// }

ll n, m;
char dis[4]={'N','E','S','W'};
void solve()
{
    cin>>n;
    vector<pair<char,ll> >v;
    rep(i,0,n)
    {
        char c;ll a;cin>>c>>a;
        v.pb({c,a});
    }
    cout<<2*n-1<<" "<<v[0].st<<endl;
    cout<<"Z"<<" "<<v[0].nd<<endl;
    rep(i,0,n-1)
    {
        bool dr=0;
        rep(j,0,4)
        if(v[i].st==dis[j])
        {
            if(dis[(j+4)%4+1]==v[i+1].st) dr=1;
        }
        if(dr) cout<<"R"<<endl;
        else cout<<"L"<<endl;
        cout<<"Z "<<v[i+1].nd<<endl;
    }
}
signed main()
{
    IOS
        // freopen("../.vscode/io/in.txt","r",stdin),freopen("../.vscode/io/out.txt","w",stdout);
        ll T = 1;
    cin >> T;
    while (T--)
        solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3812kb

input:

1
2
S 2
E 1

output:

3 S
Z 2
L
Z 1

result:

ok ok (1 test case)

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3780kb

input:

99
4
E 6
N 1
W 2
S 8
8
W 10
N 1
E 10
S 2
E 2
N 2
W 2
S 1
9
N 5
E 4
N 7
E 6
S 9
E 8
N 4
W 6
N 7
6
N 6
E 6
N 8
W 9
S 7
E 2
8
E 6
S 9
W 5
S 4
W 6
N 4
E 5
N 9
8
N 6
W 10
N 6
W 6
S 6
E 6
S 6
E 10
10
N 7
W 3
N 5
W 5
S 8
W 10
N 6
E 9
N 8
E 8
8
W 9
N 10
E 6
S 10
E 9
S 10
W 6
N 10
4
W 5
N 1
E 5
S 1
4
W 4
S 8...

output:

7 E
Z 6
L
Z 1
L
Z 2
L
Z 8
15 W
Z 10
L
Z 1
R
Z 10
R
Z 2
L
Z 2
L
Z 2
L
Z 2
L
Z 1
17 N
Z 5
R
Z 4
L
Z 7
R
Z 6
R
Z 9
L
Z 8
L
Z 4
L
Z 6
L
Z 7
11 N
Z 6
R
Z 6
L
Z 8
L
Z 9
L
Z 7
L
Z 2
15 E
Z 6
R
Z 9
R
Z 5
L
Z 4
R
Z 6
L
Z 4
R
Z 5
L
Z 9
15 N
Z 6
L
Z 10
L
Z 6
L
Z 6
L
Z 6
L
Z 6
R
Z 6
L
Z 10
19 N
Z 7
L
Z 3
L
Z 5
...

result:

wrong answer Wrong destination (test case 2)