UVA 12338 Anti-Rhyme Pairs

題目鏈接

題意給N串字符串 然後再給你兩個數字 求出 這兩個數字所代表字符串得相同前綴長度。
分析 思路挺簡單就是 直接暴力就行了

#include<iostream>
#include<algorithm>
#include<string>
#include<cstdio>
#include<cstring>
using namespace std;
string s[100005];
int pend(string s1,string s2){
    int ans=0,len=min(s1.length(),s2.length());
    for(int i=0;i<len;i++){
        if(s1[i]!=s2[i]) return ans;
        ans++;
    }
    return ans;
}
int main (void){
    int N,n,m,num=1,x,y;
    cin>>N;
    while(N--){
        cin>>n;
        for(int i=1;i<=n;i++) cin>>s[i];
        cin>>m;
        printf("Case %d:\n",num++);
        for(int i=0;i<m;i++){
            cin>>x>>y;
            if(x==y) printf("%d\n",s[x].length());
            else printf("%d\n",pend(s[x],s[y]));
        }
    }
    return 0;
}

總結 沒錯 這又是一道老師讓我們練習hash的題目 我又避開了hash。 這樣下去 我是不是就弄不懂hash了 2333 對了 在做題過程中 發現string 類find_first_not_of().可惜沒弄懂用法。說不定能用這個解決?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章