📄 poj3283.txt
字号:
#include <cstdio>
int trie[100005][52],temp[52],tn;
char str[4];
void inittrie()
{
int i;
tn=1;
for(i=0;i<52;++i)
trie[0][i]=-1;
}
int insert(int *n,int len)
{
int i,j,k,ans;
j=0;
ans=0;
for(i=0;i<len;++i)
if(trie[j][n[i]]==-1)
{
trie[j][n[i]]=tn;
j=tn;
tn++;
for(k=0;k<52;++k)
trie[j][k]=-1;
ans++;
}
else j=trie[j][n[i]];
return ans;
}
int main()
{
int n,num,i,tmp,l,res;
while(scanf("%d",&n),n)
{
res=0;
inittrie();
while(n--)
{
scanf("%d",&num);
for(i=num-1;i>=0;--i)
{
scanf("%s",str);
if(str[0]=='A') tmp=0;
else if(str[0]=='J') tmp=10;
else if(str[0]=='Q') tmp=11;
else if(str[0]=='K') tmp=12;
else tmp=str[0]-'1';
l=1;
if(str[1]=='0') {l=2;tmp=9;}
if(str[l]=='D') tmp+=13;
else if(str[l]=='H') tmp+=26;
else if(str[l]=='S') tmp+=39;
temp[i]=tmp;
}
res+=insert(temp,num);
}
printf("%d\n",res);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -