Submission #619630

#TimeUsernameProblemLanguageResultExecution timeMemory
619630samekCards (LMIO19_korteles)C++17
36 / 100
1077 ms4804 KiB
#include <iostream>
#include <vector>

using namespace std;

int n = 0;
unsigned long long wyn = 0;
char wczytany_znak;

struct Karta {
    char L_G;
    char P_G;
    char L_D;
    char P_D;
};

vector<Karta> karty;

bool czy_mozna_ulozyc(Karta k_1, Karta k_2)
{
    if (k_1.P_G == k_2.L_G && k_1.P_D == k_2.L_D)
    {
        return true;
    }
    if (k_1.L_G == k_2.P_G && k_1.L_D == k_2.P_D)
    {
        return true;
    }
    if (k_1.L_G == k_2.L_D && k_1.P_G == k_2.P_D)
    {
        return true;
    }
    if (k_1.L_D == k_2.L_G && k_1.P_D == k_2.P_G)
    {
        return true;
    }
    return false;
}

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

    cin >> n;

    for (int i = 0; i < n; ++i)
    {
        karty.push_back({});
        cin >> karty[i].L_G >> karty[i].P_G >> karty[i].L_D >> karty[i].P_D;
    }

    for (int i = 0; i < n; ++i)
    {
        for (int j = i+1; j < n; ++j)
        {
            if (czy_mozna_ulozyc(karty[i],karty[j]) == true)
            {
                wyn++;
            }
        }
    }

    cout << wyn;

    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...