Submission

Status:
TTTTx

Score: 0

User: akuyga1

Problemset: ชั้นหนังสือ

Language: c

Time: 2.086 second

Submitted On: 2024-09-25 16:55:42

#include <stdio.h>
#include <string.h>

void swap(int *arr1, int *arr2, int size) {
    for (int i = 0; i < size; i++) {
        int temp = arr1[i]; 
        arr1[i] = arr2[i]; 
        arr2[i] = temp; 
    }
}

int main() {
    int L,N;
    scanf("%d",&L);
    scanf("%d",&N);
    //input
    char book[2000][L];
    int i=0,new_i =0;
    int hmn;
    int old_N=N;
    while (i<old_N){
        scanf("%d",&hmn);
       scanf("%s",book[new_i]);
        for(int j=0;j<hmn;j++){
        	strcpy(book[new_i+j],book[new_i]);
            N++;
            new_i++;}
        i++;
    }
    printf("fuck");
    //order all the book
    int book_code[N][L];
    int code;
    //by turn all books to code(array)
    for(i=0;i<=N;i++){
        //consider each book
        for(int j=0;j<=L;j++){
            book_code[i][j]=0;
            code=(int)book[i][j]-'A'+1;
            book_code[i][j]=code;
            
        }
    }
    //now all book turn to code at book_code
    for(i=0;i<=N;i++){
        //compare each inside array1(each book)
        for(int j=0;j<=N-i;j++){
            //compare now it's time for compare each subset of each book
            int done =1;
            int n=0;
            while (done=1){
                //compare each book
                if (book_code[i][n]>book_code[i+j][n])
                    {//swap book
                        swap(book_code[i],book_code[i+j],L);
                        done=0;
                    }
                else if (book_code[i][n]=book_code[i+j][n]){}
                if (n=L){done=0;}
        } 
    }}
    //now all are in order in book_code
    //lets translate all of it back
    for(i=0;i<=N;i++){
        //consider each book
        for(int j=0;j<=L;j++){
            //according to a code is a letter-a+1
            //a letter is code+ascii(A)-1
            if(book_code[i][j]!=0){
                book[i][j]=(char)(book_code[i][j]+65-1);}
            else{book[i][j]='.';}
        }
    }
    //now all are book in order
    //build 1st floor of shelf
    for(int i =0;i<N;i++){
        printf("+-");}
        printf("+");
    for(int i =0;i<L;i++){
        printf("+-");}

    return 0;
}