全WA(C++ 98)全RE(C++ 14),把样例一下载下来:
输入:
6
MIAMI FL
DALLAS TX
FLINT MI
CLEMSON SC
BOSTON MA
ORLANDO FL
输出:
1
我的输出(本地):
1
这不一样的吗???
代码如下:
#include<bits/stdc++.h>
using namespace std;
struct node{
int son[30];
int cnt;
}trie[10000001];
int n;
int tl;
int ans;
string s,s1,s2;
void build(string s){
int u=0;
for(int i=0;i<4;++i){
int x=s[i]-'A';
if(!trie[u].son[x])trie[u].son[x]=++tl;
u=trie[u].son[x];
}
trie[u].cnt++;
}
int find(string s){
int u=0;
for(int i=0;i<4;++i){
int x=s[i]-'A';
if(!trie[u].son[x])return 0;
u=trie[u].son[x];
}
return trie[u].cnt;
}
int main(){
scanf("%d",&n);
while(n--){
cin>>s1>>s2;
if(s1[0]==s2[0]&&s1[1]==s2[1])continue;
s[0]=s1[0],s[1]=s1[1],s[2]=s2[0],s[3]=s2[1];
build(s);
s[0]=s2[0],s[1]=s2[1],s[2]=s1[0],s[3]=s1[1];
ans+=find(s);
}
printf("%d",ans);
return 0;
}