📄 1110.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1110 on 2005-10-03 at 00:07:00 */
#include <stdio.h>
#include <string.h>
bool mystrcmp(char*, char*);
int main()
{
int E, K, badKey[32], max, t = 1;
int i, j, k, len, stack[32], top, wordlen;
char excuse[32][128], word[32];
char keyWord[32][32];
bool begin;
while(scanf("%d %d", &K, &E) == 2) {
memset(badKey, 0, sizeof(badKey));
for(i = 0; i < K; i++) {
scanf("%s", keyWord[i]);
}
max = -1;
top = 0;
while(getchar() != '\n')
;
for(i = 0; i < E; i++) {
gets(excuse[i]);
len = strlen(excuse[i]);
j = 0;
while(j <= len) {
begin = false;
wordlen = 0;
for(; j <= len; j++) {
if(j == len) {
word[wordlen] = 0;
j++;
break;
} else if(excuse[i][j] <= 'z' && excuse[i][j] >= 'A') {
word[wordlen++] = excuse[i][j];
begin = true;
} else {
if(begin) {
word[wordlen] = 0;
break;
}
}
}
for(k = 0; k < K; k++) {
if(mystrcmp(word, keyWord[k])) {
badKey[i]++;
break;
}
}
}
if(badKey[i] == max) {
stack[top++] = i;
} else if(badKey[i] > max) {
max = badKey[i];
top = 0;
stack[top++] = i;
}
}
printf("Excuse Set #%d\n", t);
t++;
for(i = 0; i < top; i++) {
printf("%s\n", excuse[stack[i]]);
}
putchar('\n');
}
return 0;
}
bool mystrcmp(char *a, char *b)
{
int lena = strlen(a);
int lenb = strlen(b);
char ca, cb;
int i;
if(lena != lenb) {
return false;
} else {
for(i = 0; i < lena; i++) {
ca = a[i];
cb = b[i];
if(ca >= 'A' && ca <= 'Z') {
ca += 'a' - 'A';
}
if(cb >= 'A' && cb <= 'Z') {
cb += 'a' - 'A';
}
if(ca != cb) {
return false;
}
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -