POJ1598
来源:互联网 发布:淘宝摄影店 编辑:程序博客网 时间:2024/05/17 23:38
题目大意:
我的理解:
暴力。
我的code:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n,m;//n个关键词,m个句子int num[40];//用于存储一个句子中关键词的个数 char str[30][80];//用于存储关键词 char s[30][100]; //用于存储句子 int cmp(char c){//该函数用于从一个句子中解析出字母 if((c>='a' && c<='z') || (c>'A' && c<'Z')){return 1;}else{return 0;}} int main(){int maxn;//用于记录最跛脚的借口int q = 1;//用于输出时的计数,看到最后就懂了 freopen("D:/OJ/挑战程序设计竞赛/POJ.txt","r",stdin);while(scanf("%d%d", &n, &m) != EOF){getchar();//吸取一个字符 for(int i = 0;i<n;i++){cin>>str[i];//输入关键字 }getchar();//吸取一个字符 memset(num,0,sizeof(num));//将num数组置零 maxn = 0;for(int i = 0;i<m;i++){char ch[100];gets(s[i]);//输入句子 int len = strlen(s[i]);//这个句子的长度 for(int j = 0;j<len;j++){//一直遍历到句子结束 int a = 0;while(cmp(s[i][j])){//从句子中解析出单词 ,遇到非字母将停止while循环 if(s[i][j] >= 'A' && s[i][j] <= 'Z'){ch[a++] = s[i][j]+32;}else{ch[a++] = s[i][j];}j++;}if(a>0){//如果a>0,代表已经解析到单词 int k;ch[a] = '\0';for(k = 0;k<n;k++){if(strcmp(ch,str[k]) == 0){//判断解析出的单词与关键词是否相等 break;}}if(k < n){//代表上面的for循环没有结束就跳出了,意思就是找到与关键词相同的单词了 num[i]++;}}}maxn = max(maxn,num[i]);//从这么多句子里选出含关键词最多的句子 }cout<<"Excuse Set #"<<(q++)<<endl;//输出结果 for(int i = 0;i<m;i++){if(num[i] == maxn)cout<<s[i]<<endl;}cout<<endl;}return 0;}
阅读全文
0 0
- poj1598
- poj1598
- POJ1598
- poj1598 Excuses, Excuses!
- 1poj1598(字符串)
- poj1598 Excuses,Excuses!
- poj1598(字符串处理)
- POJ1598-C语言
- Android布局常用属性
- anaconda3+win7+tensorflow
- if分支
- linux服务器开发二(系统编程)--线程相关
- iOS UIButton调整图片与文字的位置
- POJ1598
- 柏林噪声进阶-advanced perlin noise
- servlet 生命周期(面试知识储备)
- Wireshark安装使用及报文分析(图文详解)
- JAVA深入研究——Method的Invoke方法。
- 【HTML5学习笔记】21:CSS盒模型 上
- Spring Boot Spring MVC Rest json输出日期的问题
- Codeforces 828 E DNA Evolution(树状数组方法)
- 动态规划问题中的几个经典问题代码