Submission #1516287


Source Code Expand

#include <cstdio>

#define maxn 100000
#define ll long long

char com (char a) {
    if (a == 'S')
        return 'W';
    else
        return 'S';
}
inline int check (char a, char b, int n, char f[]) {
    char start1 = a;
    char start2 = b;
    char c;
    for (int i = 3; i <= n + 2; i++) {
        if (b == 'S' && f[i - 1] == 'o')
            c = a;
        if (b == 'S' && f[i - 1] == 'x')
            c = com(a);
        if (b == 'W' && f[i - 1] == 'o')
            c = com(a);
        if (b == 'W' && f[i - 1] == 'x')
            c = a;
        a = b;
        b = c;
    }
    if (a == start1 && b == start2)
        return 1;
    return 0;
}
inline void afisare(char a, char b, int n, char f[]) {
    char c;
    printf("%c%c", a, b);
    for (int i = 3; i <= n; i++) {
        if (b == 'S' && f[i - 1] == 'o')
            c = a;
        if (b == 'S' && f[i - 1] == 'x')
            c = com(a);
        if (b == 'W' && f[i - 1] == 'o')
            c = com(a);
        if (b == 'W' && f[i - 1] == 'x')
            c = a;
        printf("%c", c);
        a = b;
        b = c;
    }
}
char f[maxn + 2];

int main() {
    int n;
    scanf("%d", &n);
    char x = fgetc(stdin);
    for (int i = 1; i <= n; i++)
        f[i] = fgetc(stdin);
    f[n + 1] = f[1];
    char d1[] = {'S', 'W', 'S', 'W'};
    char d2[] = {'S', 'W', 'W', 'S'};
    int rep = 0;
    for (int i = 0; i <= 3 && rep == 0; i++) {
        rep = check(d1[i], d2[i], n, f);
        if (rep == 1);
            afisare(d1[i], d2[i], n, f);
    }
    if (rep == 0)
        printf("-1");
    return 0;
}

Submission Info

Submission Time
Task D - Menagerie
User FizZ
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1643 Byte
Status WA
Exec Time 9 ms
Memory 640 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:53:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
                    ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 500
Status
AC × 2
WA × 1
AC × 5
WA × 11
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 0 ms 128 KB
00_example_02.txt WA 0 ms 128 KB
00_example_03.txt AC 0 ms 128 KB
01.txt WA 6 ms 512 KB
02.txt AC 2 ms 256 KB
03.txt WA 1 ms 128 KB
04.txt WA 1 ms 128 KB
05.txt WA 8 ms 640 KB
06.txt AC 3 ms 384 KB
07.txt WA 2 ms 256 KB
08.txt WA 2 ms 256 KB
09.txt AC 1 ms 128 KB
10.txt WA 2 ms 256 KB
11.txt WA 5 ms 512 KB
12.txt WA 5 ms 512 KB
13.txt WA 9 ms 640 KB