Submission #72291

#TimeUsernameProblemLanguageResultExecution timeMemory
72291cat > /dev/null (#118)Magic Dowsing (FXCUP3_magic)C++17
0 / 100
2 ms256 KiB
#include "dowsing.h"
#include<set>
#include<ctime>
#include<cstdio>
#include<cstdlib>
using namespace std;

void FindTreasure(int N) {
    srand(time(NULL));
    set<int> rest, rest2;

    for (int i = 1; i <= N; i ++)
        rest.insert(i), rest2.insert(i);

    int row, col;

    while (true) {
        int ra = ((long long)rand() * rand()) % rest.size();

        int val; 
        for (int item : rest) {
            val = item;
            if (!ra)
                break;
            ra--;
        }

        if (Detect(1, val)) {
            col = val;
            break;
        }

        rest.erase(val);
    }


    while (true) {
        int ra = ((long long)rand() * rand()) % rest2.size();

        int val; 
        for (int item : rest2) {
            val = item;
            if (!ra)
                break;
            ra--;
        }

        if (Detect(val,1)) {
            row = val;
            break;
        }

        rest2.erase(val);
    }

    Report(row, col);
}
#Verdict Execution timeMemoryGrader output
Fetching results...