zoukankan      html  css  js  c++  java
  • Blue Jeans POJ

    string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数)

    
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string> 
    #define N 101
    #define LL long long
    using namespace std;
    string str[N];
    int main() {
    	int t;
    	scanf("%d",&t);
    	while(t--) {
    		int m;
    		scanf("%d",&m);
    		for(int i=1; i<=m; i++)
    			cin>>str[i];
    		string res="no significant commonalities";
    		for(int len=3; len<=60; len++) {//枚举长度
    			for(int i=0; i<=60-len; i++) { //枚举初始位置
    				string temp=str[1].substr(i,len);//构造子串
    				bool flag=true;
    				for(int j=2; j<=m; j++) {//枚举剩下的m-1个字符串
    				 	//判断是否存在子串,如果没有找到 
    					if(str[j].find(temp)==string::npos) {
    						//标记没有找到 
    						flag=false;
    						break;
    					}
    				}
    				//如果没有找到,继续往下找 
    				if(!flag)
    					continue;
    				else {
    					if(res=="no significant commonalities")
    						res=temp;
    					else if(res.size()<temp.size())
    						res=temp;
    					else if(res.size()==temp.size())
    						res=min(res,temp);
    				}
    			}
    		}
    		cout<<res<<endl;
    
    	}
    	return 0;
    }
    
  • 相关阅读:
    12.4
    12.3
    学期总结
    12.20 期末考试总结
    12.18 准备
    12.17 CSS学习
    12.16 CSS学习
    12.15 CSS学习
    12.14 学习总结
    12.11 AJAX的基础知识
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/12383840.html
Copyright © 2011-2022 走看看