C++ 解决方案
#include<bits/stdc++.h>
using namespace std;
const int MAXN=3e7+1;
int a[MAXN];
int main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
map<long long,int>m;
m[0]=1;
long long p=0,a=0;
for(int i=0;i<n;i++){
p+=a[i];
if(m.find(p-47)!=m.end()) a+=m[p-47];
m[p]++;
}
cout<<a<<'\n';
}
return 0;
}