QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#357139#403. Memory2user1234100 ✓1ms3856kbC++142.7kb2024-03-18 18:42:002024-03-18 18:42:01

Judging History

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

  • [2024-03-18 18:42:01]
  • 评测
  • 测评结果:100
  • 用时:1ms
  • 内存:3856kb
  • [2024-03-18 18:42:00]
  • 提交

answer

#include <bits/stdc++.h>
#include "Memory2_lib.h"
using namespace std;
short jaka_liczba[100];
short numery[3];
short wynik01, wynik02, wynik12, wynikczekajacy;
short czekajacy_numer;
vector <short> odpowiedzi[50];
void sprawdz_numer(short x) {
    numery[2] = x;
    wynik02 = Flip(numery[0], x);
    wynik12 = Flip(numery[1], x);
    if (czekajacy_numer == -1) {
        if (wynik01 == wynik02 && wynik01 != wynik12) {
            jaka_liczba[numery[0]] = wynik01;
            swap(numery[0], numery[2]);
            swap(wynik01, wynik12);
            return;
        }
        if (wynik12 == wynik02 && wynik02 != wynik01) {
            jaka_liczba[numery[2]] = wynik12;
            return;
        }
        if (wynik01 == wynik12 && wynik01 != wynik02) {
            jaka_liczba[numery[1]] = wynik01;
            swap(numery[1], numery[2]);
            swap(wynik01, wynik02);
            return;
        }
        wynikczekajacy = wynik02;
        czekajacy_numer = numery[2];
        return;
    }
    if (wynik01 == wynik02 && wynik01 != wynik12) {
        if (wynik01 == wynikczekajacy) {
            jaka_liczba[czekajacy_numer] = wynikczekajacy;
            czekajacy_numer = -1;
        }
        jaka_liczba[numery[0]] = wynik01;
        swap(numery[0], numery[2]);
        swap(wynik01, wynik12);
        return;
    }
    if (wynik12 == wynik02 && wynik02 != wynik01) {
        if (wynik12 == wynikczekajacy) {
            jaka_liczba[czekajacy_numer] = wynikczekajacy;
            czekajacy_numer = -1;
        }
        jaka_liczba[numery[2]] = wynik12;
        return;
    }
    if (wynik01 == wynik12 && wynik01 != wynik02) {
        if (wynik12 == wynikczekajacy) {
            jaka_liczba[czekajacy_numer] = wynikczekajacy;
            czekajacy_numer = -1;
        }
        jaka_liczba[numery[1]] = wynik01;
        swap(numery[1], numery[2]);
        swap(wynik01, wynik02);
        return;
    }
    jaka_liczba[numery[0]] = wynikczekajacy;
    jaka_liczba[numery[1]] = wynikczekajacy;
    numery[1] = numery[2];
    numery[0] = czekajacy_numer;
    wynik01 = Flip(numery[0], numery[1]);
    czekajacy_numer = -1;
}
void Solve(int T, int N){
    if (N == 1) {
        Answer(0, 1, 0);
        return;
    }
    czekajacy_numer = -1;
    numery[0] = 0; numery[1] = 1;
    wynik01 = Flip(0, 1);
    czekajacy_numer = -1;
    for (short i = 2; i < 2 * N; i++) sprawdz_numer(i);
    jaka_liczba[numery[0]] = wynik01;
    jaka_liczba[numery[1]] = wynik01;
    for (short i = 0; i < 2 * N; i++) {
        odpowiedzi[jaka_liczba[i]].push_back(i);
    }
    for (short i = 0; i < N; i++) {
        Answer(odpowiedzi[i][0], odpowiedzi[i][1], i);
    }
	return;
}

Details

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 0ms
memory: 3780kb

Test #2:

score: 0
Accepted
time: 1ms
memory: 3852kb

Test #3:

score: 0
Accepted
time: 0ms
memory: 3736kb

Test #4:

score: 0
Accepted
time: 0ms
memory: 3736kb

Test #5:

score: 0
Accepted
time: 0ms
memory: 3784kb

Test #6:

score: 0
Accepted
time: 0ms
memory: 3776kb

Test #7:

score: 0
Accepted
time: 0ms
memory: 3856kb

Test #8:

score: 0
Accepted
time: 0ms
memory: 3836kb

Subtask #2:

score: 50
Accepted

Test #9:

score: 50
Accepted
time: 1ms
memory: 3780kb

Test #10:

score: 0
Accepted
time: 0ms
memory: 3780kb

Test #11:

score: 0
Accepted
time: 1ms
memory: 3780kb

Test #12:

score: 0
Accepted
time: 1ms
memory: 3848kb

Test #13:

score: 0
Accepted
time: 0ms
memory: 3804kb

Test #14:

score: 0
Accepted
time: 0ms
memory: 3820kb

Test #15:

score: 0
Accepted
time: 0ms
memory: 3828kb

Test #16:

score: 0
Accepted
time: 0ms
memory: 3820kb

Test #17:

score: 0
Accepted
time: 0ms
memory: 3840kb

Test #18:

score: 0
Accepted
time: 0ms
memory: 3800kb

Subtask #3:

score: 40
Accepted

Test #19:

score: 40
Accepted
time: 1ms
memory: 3816kb

Test #20:

score: 0
Accepted
time: 0ms
memory: 3780kb

Test #21:

score: 0
Accepted
time: 0ms
memory: 3844kb

Test #22:

score: 0
Accepted
time: 0ms
memory: 3796kb

Test #23:

score: 0
Accepted
time: 0ms
memory: 3820kb

Test #24:

score: 0
Accepted
time: 1ms
memory: 3856kb

Test #25:

score: 0
Accepted
time: 0ms
memory: 3824kb

Test #26:

score: 0
Accepted
time: 0ms
memory: 3784kb

Test #27:

score: 0
Accepted
time: 0ms
memory: 3820kb

Test #28:

score: 0
Accepted
time: 1ms
memory: 3776kb

Extra Test:

score: 0
Extra Test Passed