302902026-07-01 14:07:24KristófKártyatrükkcpp17Elfogadva 100/1002ms556 KiB
#include "grader.h"
#include <iostream>
#include <vector>
using namespace std;

bool vis[52];
int wh[52];
int _T;
int Cards[52];
vector<int> cycle;
void dfs(int s,int L,int &FS,int &Finish)
    {
    vis[s]=true;
    cycle.push_back(s);
    if((Cards[s]!=Finish))dfs(Cards[s],L+1,FS,Finish);
    }

void swapCards(int cards[], int S, int T) {
    for(int i=0;i<52;i++){wh[cards[i]]=i;vis[i]=0;}
    _T=T;
    for(int i=0;i<52;i++)Cards[i]=cards[i];
    for(int j=0;j<52;j++)
        {
        cycle.clear();
        if(vis[j])continue;
        if(!vis[j])dfs(j,0,j,j);
        int cs=0;
        for(int i=0;i<cycle.size()-1;i++)
            {
            cs++;
            if(cs==T)
                {
                doSwap(cycle[i],cycle.back());
                cs=0;
                }
            }
        }
}

void guessCard(int S, int T, int target) {
    int cg=target;
    int nx=guess(cg);
    while(nx!=target)
        {
        swap(nx,cg);
        nx=guess(cg);
        }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask116/16
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
subtask220/20
6Elfogadva1ms500 KiB
7Elfogadva1ms556 KiB
8Elfogadva1ms508 KiB
9Elfogadva1ms332 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms316 KiB
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
subtask322/22
16Elfogadva2ms508 KiB
17Elfogadva2ms316 KiB
18Elfogadva2ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms316 KiB
22Elfogadva1ms508 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva2ms316 KiB
32Elfogadva2ms508 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms508 KiB
35Elfogadva1ms316 KiB
subtask418/18
36Elfogadva1ms508 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms388 KiB
39Elfogadva2ms316 KiB
40Elfogadva2ms508 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms508 KiB
43Elfogadva1ms508 KiB
44Elfogadva1ms316 KiB
45Elfogadva1ms316 KiB
46Elfogadva2ms316 KiB
47Elfogadva2ms528 KiB
48Elfogadva1ms316 KiB
49Elfogadva1ms508 KiB
50Elfogadva1ms316 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms316 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva1ms316 KiB
subtask524/24
56Elfogadva1ms316 KiB
57Elfogadva1ms316 KiB
58Elfogadva1ms340 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms336 KiB
61Elfogadva1ms344 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms316 KiB