Submission #1336187

#TimeUsernameProblemLanguageResultExecution timeMemory
1336187trandaihao5555Memory (IOI10_memory)C++20
100 / 100
1 ms412 KiB
#include "grader.h"
#include "memory.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 50;
char a[N + 7];
int trace[256];

void play() {
//   int i;
//   char a, b;
//   for (i=0; i<10; ++i) {
//      a = faceup(42);
//      b = faceup(47);
//   }
    for (int i=1;i<=N;i++) a[i] ='Z';
    int cnt = 0;
    while (cnt < 25) {
        for (int i=1;i<=N;i++) {
            if (a[i] == 'Z') {
                a[i] = faceup(i);
                if (trace[a[i]]) {
                    faceup(trace[a[i]]);
                    cnt++;
                }
                else {
                    trace[a[i]] = i;
                    for (int j=i+1;j<=N;j++) {
                        if (a[j] == 'Z') {
                            a[j] = faceup(j);
                            if (a[i] == a[j]) {
                                cnt++;
                            }
                            else if (trace[a[j]]) {
                                faceup(j);
                                faceup(trace[a[j]]);
                                cnt++;
                            }
                            else trace[a[j]] = j;
                            break;
                        }
                    }
                }
                break;
            }
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...