UVA409
来源:互联网 发布:太平洋电脑软件下载 编辑:程序博客网 时间:2024/04/30 23:40
唉,渣就是渣,掩饰不了,每次都把找BUG时加的额外语句提交时忘记注释掉,导致错误,
本来是一次AC的,另外贴上我自己的龊代码:
#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int K,E;
char key[21][21],exc[21][72],excca[21][72];
int excc[21];
int aa=0;
while(scanf("%d%d",&K,&E)!=EOF)
{
getchar();
for(int i=0;i<K;i++)
gets(key[i]);
for(int i=0;i<E;i++)
gets(excca[i]);
for(int i=0;i<E;i++)
for(int j=0;excca[i][j]!='\0';j++)
{
if(excca[i][j]>='A'&&excca[i][j]<='Z')
exc[i][j]=excca[i][j]-'A'+'a';
else
exc[i][j]=excca[i][j];
}
int max=0;
for(int i=0;i<E;i++)
{
int sum=0;
for(int j=0;j<K;j++)
{
int len=strlen(key[j]);
for(int k=0;exc[i][k]!='\0';k++)
{
if((key[j][0]==exc[i][k])&&(k==0||exc[i][k-1]==' '||exc[i][k-1]<'a'||exc[i][k-1]>'z')&&
(exc[i][k+len]=='\0'||exc[i][k+len]==' '||exc[i][k+len]<'a'||exc[i][k+len]>'z'))
{
int f=0;
for(f=0;f<len;f++)
if(key[j][f]!=exc[i][k+f]) break;
if(f==len)
{
sum++;
k+=len-1;
}
}
}
}
excc[i]=sum;
if(sum>max)
max=sum;
}
// printf("%d\n",max);
printf("Excuse Set #%d\n",++aa);
for(int i=0;i<E;i++)
if(excc[i]==max)
puts(excca[i]);
puts("");
}
}
另外这题也可以通过取字串来做相对简洁点:
#include<stdio.h> 2 #include<string.h> 3 #include<ctype.h> 4 char key[25][25]; 5 char exc[25][100]; 6 int cnt[25]; 7 int k,e; 8 int keycnt(char *str) 9 {10 int i,j=0,number=0;11 char s[100];12 for(i=0;str[i]!='\0';i++)13 {14 if(isalpha(str[i]))15 {16 s[j]=tolower(str[i]);17 j++;18 }19 else20 {21 s[j]='\0';22 for(j=0;j<k;j++)23 {24 if(strcmp(s,key[j])==0)25 number++;26 }27 j=0;28 }29 }30 return number;31 }32 int main()33 {34 int now=0;35 while(scanf("%d%d",&k,&e)==2)36 {37 getchar();38 memset(cnt,0,sizeof(cnt));39 int i,j,r;40 for(i=0;i<k;i++)41 {42 gets(key[i]);43 }44 for(i=0;i<e;i++)45 {46 gets(exc[i]);47 }48 for(i=0;i<e;i++)49 {50 cnt[i]=keycnt(exc[i]);51 }52 int max=0;53 for(i=0;i<e;i++)54 max=(max>cnt[i])?max:cnt[i];55 printf("Excuse Set #%d\n",++now);56 for(i=0;i<e;i++)57 {58 if(cnt[i]==max)59 {60 puts(exc[i]);61 }62 }63 printf("\n");64 }65 return 0;66 }另外此题还可以用strstr来做:
- uva409
- UVA409
- uva409--String
- ACM->uva409
- uva409 - Excuses, Excuses!
- Excuses, Excuses! UVa409 字符串
- uva409(字符串)
- UVA409- Excuses, Excuses!
- UVa409 Excuses, Excuses!
- UVA409 Excuses, Excuses!
- UVA409 - Excuses, Excuses!
- UVA409 Excuses, Excuses!解题报告
- UVa409 - Excuses, Excuses!-字符串-难度2
- uva409 Excuses, Excuses!(字符串处理)
- android应用开发详解(二十一)-----------------------SQLite
- “理”在心中
- 【UVA】1449-Dominating Patterns(AC自动机)
- CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)
- Android中下拉框Spinner使用
- UVA409
- 共享池调整
- java的修饰符
- 20141016 【Arduino + C51单片机】 八段数码管--数字循环显示
- HTTP头信息
- 自己SQL的总结
- Fisher线性判别与感知器算法Matlab实现
- MTLAB中的legend和xlabel,ylabel设置
- Find Minimum in Rotated Sorted Array