modified completed 14425.c

This commit is contained in:
2024-04-30 11:43:08 +09:00
parent d6ee73729b
commit a01bed67b5

View File

@@ -4,13 +4,22 @@
int STR_LEN = 501; int STR_LEN = 501;
int is_in(char *a, char (*S)[STR_LEN], int N) { int comp(const void *a, const void *b) {
return strcmp((char *) a, (char *) b);
for (int i = 0; i < N; i++) {
int c = strcmp(a, S[i]);
if (c == 0) {
return 1;
} }
int is_in(char *a, char (*S)[STR_LEN], int N) {
// binary search
int low = 0, high = N - 1;
while (low <= high) {
int mid = (low + high) / 2;
int k = (int) strcmp(a, S[mid]);
if (k == 0) return 1;
else if (k < 0)
high = mid - 1;
else if (k > 0)
low = mid + 1;
} }
return 0; return 0;
} }
@@ -31,6 +40,8 @@ int main() {
scanf("%s", (check[i])); scanf("%s", (check[i]));
} }
qsort(S, N, sizeof(char) * 501, comp);
int count = 0; int count = 0;
for (int i = 0; i < M; i++) { for (int i = 0; i < M; i++) {
count += is_in((check[i]), S, N); count += is_in((check[i]), S, N);