rt,标准输出1003,而我的是1016……
#include <bits/stdc++.h>
using namespace std;
const int N=10000,M=233300;
int m,src=1,des=26,top=1,head[N],dep[N];
const int inf=0x3f3f3f3f;
struct ss{int next,to,dis;}f[M];
inline int add(int from,int to,int dis){
f[++top].to=to;
f[top].dis=dis;
f[top].next=head[from];
head[from]=top;
}
inline bool bfs(){
queue <int >q;
memset(dep,0,sizeof(dep));
dep[src]=1;q.push(src);
while(!q.empty()){
int u=q.front();q.pop();
for(int i=head[u];i;i=f[i].next){
int v=f[i].to;
if(f[i].dis&&!dep[v]){
dep[v]=dep[u]+1;
q.push(v);
if(v==des)return 1;
}
}
}
return 0;
}
inline int dfs(int u,int in){
if(u==des) return in;
int out=0;
for(int i=head[u];i;i=f[i].next){
int v=f[i].to;
if(f[i].dis&&dep[v]==dep[u]+1){
int res=dfs(v,min(f[i].dis,in));
f[i].dis-=res;
f[i^1].dis+=res;
out+=res;
if(out==in) return in;
}
}
if(out==0) dep[u]=0;
return out;
}
int main (){
//printf("%d %d\n",'A','Z');
scanf("%d",&m);
int aa,bb,c;char a,b;
for(int i=1;i<=m;i++){
cin>>a>>b>>c;
if(a>='a'&&a<='z') aa=a-'a'+27;else if(a>='A'&&a<='Z') aa=a-'A'+1;
if(b>='a'&&b<='z')bb=b-'a'+27;else if(b>='A'&&b<='Z') bb=b-'A'+1;
//cout<<aa<<" "<<bb<<endl;
add(aa,bb,c);add(bb,aa,0);
}int ans=0;
while(bfs()){ans+=dfs(src,inf);}
cout<<ans<<endl;
return 0;
}