제출 #1155852

#제출 시각아이디문제언어결과실행 시간메모리
1155852Jakub_WozniakMalnaRISC (COI21_malnarisc)C++20
76.85 / 100
1 ms584 KiB
#include <bits/stdc++.h>
using namespace std;
#define st first
#define nd second
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
set <int> t[109];
bool czy[109];
string T[309];

int N;

string dodaj(int i , int j )
{
    if(max(i,j) > N)return "";
    string aktt;
    aktt += "CMPSWP R";
    aktt += to_string(i);
    aktt += " R"; 
    aktt += to_string(j);
    aktt += " "; 

    return aktt;
}

void wypisz(vector <int > S)
{
    for(auto p : S)cerr << p << ' ';
    cerr << '\n';
}



void rek(vector <int> V , int licz)
{
    if(V.size() == 1)
    {
        return ;
    }
    if(V.size()%2)V.push_back(N+1);

    vector <int > V1 , V2;
    for(int i = 0 ; i < V.size()/2 ; i++)V1.push_back(V[i]);
    for(int i = V.size()/2 ; i < V.size() ; i++)V2.push_back(V[i]);

    for(int i = 0 ; i < V1.size() ; i++)
    {
        for(int j = 0 ;j < V1.size() ; j++)
        {
            T[licz] += dodaj(V1[j] , V2[(j+i)%V1.size()]);
        }
        licz++;
    }

    rek(V1,licz);
    rek(V2,licz);
}


int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    cin >> N;
    vector <int> POm;
    for(int i =1 ; i <= N ; i++)
    {
        POm.push_back(i);
    }

    rek(POm , 0);

    vector <string > V;
    int licz = 0;
    while(T[licz].size() > 0)
    {
        V.push_back(T[licz]);
        licz++;
    }

    cout << V.size() << '\n';
    for(auto p : V)cout << p << '\n';
    

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...