⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1315.cpp

📁 高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程
💻 CPP
字号:
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define maxlen     1000

main()
{
      int K , E , i , j , f [20] , len;
      char Key[20] [maxlen] , Excuse[20] [maxlen] , *p , *q , Tmp [maxlen];
      
      int  max , step;

      step=0;
      while ( scanf ( "%d %d\n" , & K , & E ) != EOF ) {
            
            printf ( "Excuse Set #%d\n" , ++ step );
            
            for ( i = 0; i < K; i ++ ) gets ( Key [i] );
            
            for ( i = 0; i < E; i ++ ) gets ( Excuse [i] );
            
            memset ( f , 0 , sizeof ( f ));
            
            for ( i = 0; i < K; i ++ )
                for ( j = 0 , len = strlen ( Key [i] ); j < len; j ++ )
                    Key [i] [j] = tolower ( Key [i] [j] );
            
            for ( i = max = 0; i < E; i ++ ) {
                len = strlen ( Excuse [i] );
                
                for ( j = 0; j < K; j ++) {
                    
                    for ( int d = 0; d < len; d ++ ) Tmp [d] = tolower ( Excuse [i] [d] );
                    Tmp [len] = 0;
                    
                    for ( p = Tmp; ( q = strstr ( p , Key [j] ) ) != NULL; *q = '/' )
                        if ( q == Tmp || !isalpha ( * ( q - 1 ) ))
                           if ( !isalpha ( * (q + strlen ( Key [j] )) )) f [i] ++;
                }
                if ( f [i] > max ) max = f [i];
            }
//            printf ( "max = %d\n" , max );
            for ( i = 0; i < E; i ++ ) if ( f [i] == max ) printf ( "%s\n" , Excuse [i] );
            printf("\n");
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -