CSES - Datatähti 2020 alku - Results
Submission details
Task:Merkkijonot
Sender:Aapeli
Submission time:2019-10-12 17:16:39 +0300
Language:C++ (C++17)
Status:COMPILE ERROR

Compiler report

input/code.cpp:9:10: fatal error: main.h: No such file or directory
 #include "main.h"
          ^~~~~~~~
compilation terminated.

Code

//
//  main.c
//  datatahti
//
//  Created by aapo haavisto on 10/11/19.
//  Copyright © 2019 Aapo Haavisto. All rights reserved.
//

#include "main.h"

struct x{
    int* lista;
    int pituus;
};

struct x etsisamat(char* sana,char merkki){
   
    struct x palautettava;
    palautettava.lista=malloc(51*sizeof(int));
    palautettava.pituus=0;
    for (int i=0; i<strlen(sana); i++) {
        if (sana[i]==merkki){
            palautettava.lista[palautettava.pituus]=i;
            palautettava.pituus++;
        }
    }
    return palautettava;
}

int onkoharmoniset(char* a,char* b){
    if (strlen(a)!=strlen(b))
        return 0;
    char* c=a;
    char* d=b;
    
    for (int i=0; i<strlen(a); i++){
        struct x cee=etsisamat(c, c[i]);
        struct x dee=etsisamat(d, d[i]);
        
        if(c[i]!=0){
            if (memcmp(cee.lista, dee.lista, cee.pituus*sizeof(int))) {
                return 0;
            }
        }
    }
    
    
    
    return 1;
}

int onkosama(char** a, char** b){
    if (a[0][0]!=b[0][0]) {
        return 0;
    }
    int arvot=a[0][0];
    while(arvot>0){
        
    }
    if (arvot==0)
        return 1;
    else
        return 0;
}




int main(void){
   
    
    int maara;
    scanf("%i",&maara);
    int parit=0;
    
    char** kokolista=malloc(maara*sizeof(char*));
    
    
    //luetaan merkkijonot
    for (int i=0; i<maara; i++){
        kokolista[i]=malloc(51*sizeof(char));
        scanf("%s",kokolista[i]);
    }
    
    for (int i= 0; i<maara; i++) {
        for (int a=i+1; a<maara; a++) {
            if (onkoharmoniset(kokolista[i], kokolista[a]))
                parit++;
        }
    }
    printf("%i",parit);
    for (int i=0; i<maara; i++)
        free(kokolista[i]);
    free(kokolista);
}