|
|
back to boardWA 15 Posted by And IV 28 Jun 2007 00:52 #include<iostream>; #include<algorithm>; using namespace std; //ofstream cout("out.txt"); //ifstream cin("in.txt"); int n,m,i,o,ii,k,l,pp[101],z,a,b,c,ad,kk,nn,mnn=999999999; int och[101]; bool be[101],bb[101],b1=false; int bi[101]; bool gr[101][101]; int main() { cin>>n>>m; for(i=1;i<=m;i++) { cin>>pp[0]; for(o=1;o<=pp[0];o++) cin>>pp[o]; for(o=1;o<=pp[0];o++) { be[pp[o]]=true; for(ii=1;ii<=pp[0];ii++) { if(pp[ii]!=pp[o]) gr[pp[o]][pp[ii]]=true; } } } cin>>k; for(i=1;i<=k;i++) { fill(&bb[1],&bb[100],false); fill(&pp[1],&pp[100],0); cin>>a>>b>>c; och[0]=1;kk=0; bb[b]=true; pp[b]=0; och[1]=b; z=0; ad=4; if (c==1) ad=0; while(och[0]>z) { z+=1;
for(o=1;o<=n;o++) if(gr[och[z]][o] &&(!bb[o])&&(pp[och[z]]+ad<=a)) { bb[o]=true; och[0]++; och[och[0]]=o; pp[o]=pp[och[z]]+ad; bi[o]+=pp[o]; } } for(o=1;o<=n;o++) be[o]=be[o]&&bb[o]; } for(o=1;o<=n;o++) { b1=b1||be[o]; if((be[o])&&(bi[o]<mnn)) { nn=o; mnn=bi[o]; } } if(!b1) cout<<"0"; else cout<<nn<<" "<<mnn; return 0; |
|
|