반응형
맵같은 라이브러리 안쓰고 해볼려고했는데 고생했다.
https://www.acmicpc.net/problem/9375
#include <cstdio>
int _strcmp(char * a, char * b) {
int i = 0;
while(a[i]) {
if (a[i] != b[i]) {
break;
}
i++;
}
return a[i]-b[i];
}
void _strcpy(char *dst, char *src) {
while((*dst++ = *src++));
}
int checkDup(char g[31][21], int n, char s[21]) {
for (int i = 0; i < n; i++) {
if (_strcmp(g[i], s) == 0) {
return i;
}
}
return -1;
}
void testcase() {
int n; // 0~30
scanf("%d", &n);
char garments[31][21] = {0,};
int count[31] = {0,};
int gidx = 0;
for (int i = 0; i < n; i++) {
char a[21], b[21] = {0,};
scanf("%s %s", a,b);
int re;
if ((re = checkDup(garments, gidx, b)) == -1) {
re = gidx++;
_strcpy(garments[re], b);
}
count[re]++;
}
int result = 1;
for (int i = 0; i < gidx; i++) {
result = result * (count[i] + 1);
}
printf("%d\n" ,result - 1);
}
int main() {
int t;
scanf("%d", &t);
for (;t--;) {
testcase();
}
}
'Study > algorithms' 카테고리의 다른 글
[백준] 2004 조합 0의 개수 (0) | 2020.02.23 |
---|---|
[백준] 1676. 팩토리얼 0의 개수 (0) | 2020.02.18 |
[백준] 11051. 이항계수2 (0) | 2020.02.15 |
[백준] 11050 이항계수1 (0) | 2020.02.15 |
[백준] 3036. 링 (0) | 2020.02.15 |