bzoj1622[Usaco2008 Open]Word Power 名字的能量
题意:
n个名字,m个能量字符串,每个名字的能量为其中含有能量字符串的种数(含有指有一个不连续子串与能量字符串相等),问每个名字的能量。n≤1000,m≤100。
题解:
暴力可过(似乎数据弱)。
代码:
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <cctype> 5 #include <queue> 6 #define inc(i,j,k) for(int i=j;i<=k;i++) 7 #define maxn 1010 8 using namespace std; 9 10 char name[maxn][maxn],ener[maxn/10][maxn/10]; int n,m; 11 int main(){ 12 scanf("%d%d",&n,&m); inc(i,1,n)scanf("%s",name[i]+1); inc(i,1,m)scanf("%s",ener[i]+1); 13 inc(i,1,n){ 14 int len1=strlen(name[i]+1),ans=0; 15 inc(j,1,m){ 16 int l=0,len2=strlen(ener[j]+1); 17 inc(k,1,len1){ 18 if(tolower(name[i][k])==tolower(ener[j][l+1])){ 19 l++; if(l==len2){ans++; break;} 20 } 21 } 22 } 23 printf("%d\n",ans); 24 } 25 return 0; 26 }
20160918