11346

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

// 오름차순
int compare(const void* a, const void* b) {
	return strcmp(a, b); 
}

int main(void){
    // 테스트 케이스 입력
    int test_case = 0;
    scanf("%d", &test_case);

    for(int i = 0; i < test_case; i++){
        // cornell 목록의 이름 수와, white 목록의 이름 수 입력
        int cornell = 0, white = 0;
        scanf("%d %d", &cornell, &white);

        // cornell, white 합쳐서 이름 입력 받기
        int size = cornell+white;
        char (*arr)[11] = (char (*)[11])malloc(sizeof(char)*size*11);
        for(int j = 0; j < size; j++){
            scanf("%s", &arr[j]);
        }

        // 문자열 qsort로 정렬 해주기
        qsort(arr, size, sizeof(char [11]), compare);

        // i-1번째와 i번쨰의 문자열이 다르면 count 해주기 
        int count = 1;
        for(int j = 1; j < size; j++){
            if(strcmp(arr[j-1], arr[j]) != 0){
                count++;
            }
        }

        // 참석한 최소 인원 수 출력하기
        printf("%d\n", count);
        free(arr);

    }
    return 0;
}

+ Recent posts