/*
ID: 551100k1
LANG: C++
TASK: concom
*/
#include<stdio.h>
#include<string.h>
#include<vector>
#include<queue>
using namespace std;
struct P{
int a,b;
}in;
vector<P> s[105];
vector<P> arr;
queue<int> que;
int v[105],add[105];
int main(){
freopen("concom.in","r",stdin);
freopen("concom.out","w",stdout);
int n,i,j,flag,a,b,c,p;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d%d%d",&a,&b,&c);
s[a].push_back((P){b,c});
}
n=100;
for(i=1;i<=n;i++){
memset(v,0,sizeof(v));
memset(add,0,sizeof(add));
que.push(i);
v[i]=1;
while(que.size()){
p=que.front();
que.pop();
for(j=0;j<s[p].size();j++){
in=s[p][j];
add[in.a]+=in.b;
}
for(j=1;j<=n;j++){
if(add[j]>=50 && v[j]==0){
v[j]=1;
que.push(j);
}
}
}
for(j=1;j<=n;j++)
if(v[j] && i!=j)
arr.push_back((P){i,j});
}
for(i=0;i<arr.size();i++){
printf("%d %d\n",arr[i].a,arr[i].b);
}
}
沒有留言:
張貼留言