首页 > 代码库 > bzoj1622[Usaco2008 Open]Word Power 名字的能量*

bzoj1622[Usaco2008 Open]Word Power 名字的能量*

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

bzoj1622[Usaco2008 Open]Word Power 名字的能量*