#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
int G[20][20],sum[20],in[20],n;
void solve(){
queue<int>q;
int cnt=0;
for(int i=0;i<=n;i++)
if(!in[i]) q.push(i);
while(!q.empty()){
int x=q.front();
q.pop();
cnt++;
for(int i=0;i<=n;i++)
if(G[x][i]){
in[i]--;
if(!in[i]){
q.push(i);
sum[i]=cnt;
}
}
}
}
int main(){
int T;
char s;
scanf("%d",&T);
while(T--){
memset(sum,0,sizeof(sum));
memset(G,0,sizeof(G));
memset(in,0,sizeof(in));
scanf("%d",&n);
getchar();
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
scanf("%c",&s);
if(s=='+') G[i-1][j]=1,in[j]++;
else if(s=='-') G[j][i-1]=1,in[i-1]++;
}
}
solve();
for(int i=1;i<=n;i++)
printf("%d ",sum[i]-sum[i-1]);
printf("\n");
}
}
LA 4255 给定一些数的关系 求这些的一组确定的值
最新推荐文章于 2023-01-30 21:41:32 发布