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;
    }
    
  • 相关阅读:
    脚本添加crontab任务
    docker mysql8 注意
    使用 logrotate 清理日志
    腾讯云cos对象在线显示
    快速部署私人git服务--基于docker化Gogs
    grep 使用
    vsftpd 新增虚拟用户
    unistd.h
    ffmpeg
    H264视频压缩算法
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/12383840.html
Copyright © 2011-2022 走看看