首页 > 其他分享 >51nod 1095 Anigram单词

51nod 1095 Anigram单词

时间:2023-02-07 12:01:19浏览次数:46  
标签:1095 51nod Anigram int mapp2 mapp1 单词 include


1095 Anigram单词

一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词army和mary互为Anigram。另:相同的2个单词不算Anigram。现在给定一个字典,输入Q个单词,从给出的字典中找出这些单词的Anigram。

 收起

输入


第1行:1个数N,表示字典中单词的数量。(1 <= N <= 10000) 第2 - N + 1行,字典中的单词,单词长度 <= 10。 第N + 2行:查询的数量Q。(1 <= Q <= 10000) 第N + 3 - N + Q - 2行:用作查询的单词,单词长度 <= 10。


输出


共Q行,输出Anigram的数量,如果没有输出0。


输入样例


5 add dad bad cad did 3 add cac dda


输出样例


1 0 2


 

分析:

因为单词长度10,直接开两个map,一个记录为排序前的单词数量,一个记录排序后的单词数量,最后一减即可

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <map>
using namespace std;
string t[10005];
int main()
{
int n;
scanf("%d",&n);
//cin.get();
map<string,int> mapp1;
map<string,int> mapp2;
int len;
for(int i=1;i<=n;i++)
{
cin>>t[i];
mapp1[t[i]]++;
sort(t[i].begin(),t[i].end());
mapp2[t[i]]++;
//cout<<mapp2[t[i]]<<endl;
}
int q;
scanf("%d",&q);
string s,s1;
for(int i=1;i<=q;i++)
{
long long ans=0;
cin>>s;
s1=s;
sort(s.begin(),s.end());
//printf("%d %d\n",mapp2[s],mapp1[s]);
printf("%d\n",max(mapp2[s]-mapp1[s1],0));
}
return 0;
}

 

标签:1095,51nod,Anigram,int,mapp2,mapp1,单词,include
From: https://blog.51cto.com/u_14932227/6041862

相关文章

  • 51nod 1133 不重叠的线段
    X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。例如:[15][23][36],可以选[23][36],这2条线段互不重叠。 收......
  • 51Nod 1050 循环数组最大子段和
    N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的......
  • 最完美WIN11_Pro_22H2.22623.1095软件选装纯净版VIP38.4
    【系统简介】=============================================================1.本次更新母盘来UUP_WIN11_Pro_22H2.22623.1095。进一步优化调整。2.不支持更新,更新后精简版......
  • [51Nod 1383] 整数分解为2的幂
    Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod1000000007的结果。比如N=7时,共有6种划分方法。7=1+1+1+1+1+1+1=......
  • [51Nod 1223] 分数等式的数量
    Description有这样一个分数等式:1/X+1/Y=1/N,(X,Y,N>0)。给出L,求有多少满足X<Y<=L的等式。例如:L=12,满足条件的等式有3个,分别是:1/3+1/6=1/2,1/4+1/12=1......
  • 【51Nod1133】不重叠的线段
    DescriptionX轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。例如:[15][23][36],可以选[23][36],这2条线段互......
  • P1095 守望者的逃离
    P1095守望者的逃离题意:一个岛上有一个人,跑步速度为\(17m/s\),消耗\(10\)点魔法值可以在\(1s\)内移动\(60m\),每秒原地休息的话可以恢复\(4\)点的魔法值。已知......
  • 51nod1355
    没啥意思的板子题。首先,众所周知,\[\gcd\{f_a,f_b\}=f_{\gcd\{a,b\}}\]所以考虑将\(\operatorname{lcm}\)转化为\(\gcd\)。\(\min-\max\)容斥指出,\[\max_{a\inS}a......
  • 51nod 1165 整边直角三角形的数量 【数学:公式--求约数】
    1165 整边直角三角形的数量基准时间限制:2 秒空间限制:131072 KB分值: 160 难度:6级算法题 收藏 关注直角三角形,三条边的长度都......
  • 51nod1079 中国剩余定理
    1079中国剩余定理基准时间限制:1秒空间限制:131072KB分值:0难度:基础题收藏 关注一个正整数K,给出KMod一些质数的结果,求符合条件的最小的......