- 确定了一个叶子结点的质量,整棵树的质量就确定了,统计每个叶子结点所能确定的树的质量x,答案为叶子结点树-出现最多的x的次数。
#include<iostream>
#include<cstdio>
#include<map>
#include<cstring>
#include<cstdlib>
using namespace std;
long long n,ans,pos,num=1,maxn,nd;
string a;
map<long long,long long>t;
void getans()
{
int dep=0;
while(pos<ans)
{
if(a[pos]=='[') dep++;
else
if(a[pos]==']') dep--;
else
if(a[pos]!=',')
{
nd++;
long long sum=0;
while(a[pos]>='0'&&a[pos]<='9')
{
sum=(unsigned long long)(sum*10+a[pos]-'0');
pos++;
}
long long tmp=sum*(unsigned long long)(1<<dep);
t[tmp]++;
maxn=max(maxn,t[tmp]);
continue;
}
pos++;
}
}
void intt()
{
pos=nd=maxn=0;
t.clear();
}
int main()
{
cin>>n;
while(n--)
{
cin>>a;
ans=a.length();
if(a[0]>='0'&&a[0]<='9')
{
cout<<0<<endl;
continue;
}
getans();
cout<<nd-maxn<<endl;
intt();
}
}