| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 199834 | mathking1021 | Memory 2 (JOI16_memory2) | C++11 | 6 ms | 380 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Memory2_lib.h"
#include <algorithm>
#include <vector>
using namespace std;
int a[105];
bool v[105];
vector<int> ve[105];
vector<int> ans[105];
void Solve(int T, int N)
{
    int n = N;
    for(int i = 0; i < 2 * n; i++)
    {
        int j;
        int x = n;
        if(v[i]) continue;
        for(j = 0; j < n; j++) ve[j].clear();
        for(j = i + 1; j < 2 * n; j++)
        {
            if(v[j]) continue;
            int t = Flip(i, j);
            ve[t].push_back(j);
            if(ans[t].size() + ve[t].size() > 2) {x = t; break;}
        }
        for(int k = 0; k < n; k++) if(k != x) for(int l = 0; l < ve[k].size(); l++) ans[k].push_back(ve[k][l]);
        if(j == 2 * n)
        {
            for(j = 0; j < n; j++)
            {
                if(ans[j].size() < 2) ans[j].push_back(i);
                Answer(ans[j][0], ans[j][1], j);
            }
            return;
        }
        ans[x].push_back(i);
        v[i] = true;
        for(j = 0; j < n; j++)
        {
            if(j == x) continue;
            for(int k = 0; k < ve[j].size(); k++)
            {
                v[ve[j][k]] = true;
            }
        }
    }
    for(int i = 0; i < n; i++)
    {
        Answer(ans[i][0], ans[i][1], i);
    }
	return;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
