zoukankan      html  css  js  c++  java
  • 51Nod 1095 Anigram单词 | Hash

    Input示例
    5
    add
    dad
    bad
    cad
    did
    3
    add
    cac
    dda
    
    Output示例
    1
    0
    2

    题意:一系列字符串,查询字符串S,能通过其他字符串交换串内字符顺序得到的字符串个数
    思路:将每个字符串字符排序,map计数
    #include <iostream>
    #include <string.h>
    #include <algorithm>
    #include <map>
    using namespace std;
    #define MAXN 10001
    char s[2*MAXN][15];
    char str[15];
    map<string,int> a,b;
    int main(){
        int n,q;
        while (cin>>n){
            for (int i=0;i<n;i++){
                cin>>s[i];
                a[s[i]]++;
                int len=strlen(s[i]);
                sort(s[i],s[i]+len);
                b[s[i]]++;
            }
            cin>>q;
            while (q--){
                cin>>str;
                int k=a[str];
                int len=strlen(str);
                sort(str,str+len);
                int ans=b[str];
                cout<<ans-k<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    Linux内核同步
    Linux内核同步
    Linux内核同步
    Linux内核同步
    Linux内核同步
    Linux中断
    Linux中断
    Linux中断
    Linux中断
    Linux中断
  • 原文地址:https://www.cnblogs.com/kimsimple/p/7487732.html
Copyright © 2011-2022 走看看