modified completed 14425.c
This commit is contained in:
@@ -4,13 +4,22 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -31,6 +40,8 @@ int main() {
|
||||
scanf("%s", (check[i]));
|
||||
}
|
||||
|
||||
qsort(S, N, sizeof(char) * 501, comp);
|
||||
|
||||
int count = 0;
|
||||
for (int i = 0; i < M; i++) {
|
||||
count += is_in((check[i]), S, N);
|
||||
|
||||
Reference in New Issue
Block a user