…
33 }
34 return res;
35
36 }
37 int main()
38 {
39 int m,n,i,j,max,jishu=1,res;
40 while (scanf("%d %d",&m,&n)!=EOF){
41 getchar();
42 max=0;
43 memset(count,0,sizeof(count));
44 for (i=0;i 45 gets(keyword[i]);
46 }
47 for(i=0;i 48 gets(excus1[i]);
49 bigtosmall(i);
50 }
51 for (i=0;i 52 for (j=0;j 53 res=pipei(i,j);
54 if (res)
55 { count[i]+=res; }
56 }
57 }
58 max=count[0];
59 for (i=0;i 60 if(max 61 { max=count[i]; }
62 }
63 printf("Excuse Set #%d\n",jishu);
64 jishu++;
65 for (i=0;i 66 if (count[i] == max)
67 { printf("%s\n",excus1[i]); }
68 }
69 printf("\n");
70 }
71 //////////////////////////////
72
73 return 0;
74 }
75 心得体会:WA了好长时间,对于关键词为home 而句子中有homework的情况没做讨论,导致错误……各种WA……
第六题:10878 - Decode the tape
大致题意:很简单的解码……空格代表零,“O”代表1,由二进制的ASC 2码,再输出字符就好了……
题目分析:扫一遍,输出……我一次性就AC了……高兴一下,O(∩_∩)O~呵呵……
代码:
1 #include
2 #include
3 #include
4 const int maxlen=2000;
5 char a[15],b[maxlen];
6 bool isjieshu ()
7 {
8 int i;
9 for (i=0;i<10;i++){
10 if (a[i]!='_')
11 { return false; }
12 }
13 return true;
14 }
15 int erjingzhi ()
16 {
17 int i,jingzhi=1,n,sum=0;
18 for (i=9;i>0;i--){
19 if (a[i]=='.') continue;
20 if (a[i]=='o')
21 { sum=sum+jingzhi; }
22 jingzhi=jingzhi*2;
23 }
24 return sum;
25 }
26 int main()
27 {
28 int count1=2,count2=0;
29 while (gets(a)){
30 if (isjieshu())
31 { count1--; if (count1 == 0) {break;} continue; }
32 b[count2]=erjingzhi();
33 count2++;
34 }
35 printf("%s",b);
36 ///////////////////////////////
37 system("pause");
38 return 0;
39 }
40 心得体会:注意观察就是了
第七题:10815 - Andy's First Dictionary
大致题意:给一些句子,从中分割出单词,再按字典序排列……
题目分析:排序费了点脑筋,一开始不会的,后来发觉特白痴,再说C都有现成的函数供调用了……对了,还要去重复单词……还要说的一点就是UVa OJ尼玛坑爹啊!!!明明说了not exceed 5000,结果我开到2万都不够大,告诉我说RE,我靠,你妹的!!!!擦哦……
代码:
1 //这题也太黑了吧……我开那么大才过!!!
2 #include
3 #include
4 #include
5 const int maxhan=5500;
6 const int maxlie=2500;
7 const int maxnum=31000; //5500不够!!!21000都不够!!!!
8 char a[maxhan][maxlie];
9 char wordlist[maxnum][900];
10 int countjuzi,countdanci=0;
11 void chuli ()
12 {
13 int i,j,leni;
14 for (i=0;i 15 leni=strlen(a[i]);
16 for (j=0;j 17 if (a[i][j]<'a' || a[i][j]>'z')
18 { a[i][j]=' '; }
19 }
20 }
21 }
22 void fenge ()
23 {
24 int i,j;
25 char *p;
26 for (i=0;i 27 p=strtok(a[i]," ");
28 while (p != NULL){
29 strcpy (wordlist[countdanci],p);
30 countdanci++;
31 p=strtok(NULL," ");
32 }
33 }
34 }
35 void shuchu ()
36 {
37 int i,j;
38 for (i=0;i 39 if (wordlist[i][0] != '\0')
40 { puts(wordlist[i]); }
41 }
42 }
43 void strsmall (char a[])
44 {
45 int i,len;
46 len=strlen(a);
47 for (i=0;i 48 if ('A'<=a[i] && a[i]<='Z')
49 { a[i]=a[i]-'A'+'a'; }
50 }
51 }
52 void paixu (int s,int e)
53 {
54 char x[maxlie];
55 strcpy(x,word