HH

/***
     *               ii.                                         ;9ABH,          
     *              SA391,                                    .r9GG35&G          
     *              &#ii13Gh;                               i3X31i;:,rB1         
     *              iMs,:,i5895,                         .5G91:,:;:s1:8A         
     *               33::::,,;5G5,                     ,58Si,,:::,sHX;iH1        
     *                Sr.,:;rs13BBX35hh11511h5Shhh5S3GAXS:.,,::,,1AG3i,GG        
     *                .G51S511sr;;iiiishS8G89Shsrrsh59S;.,,,,,..5A85Si,h8        
     *               :SB9s:,............................,,,.,,,SASh53h,1G.       
     *            .r18S;..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.1H315199,rX,       
     *          ;S89s,..,,,,,,,,,,,,,,,,,,,,,,,....,,.......,,,;r1ShS8,;Xi       
     *        i55s:.........,,,,,,,,,,,,,,,,.,,,......,.....,,....r9&5.:X1       
     *       59;.....,.     .,,,,,,,,,,,...        .............,..:1;.:&s       
     *      s8,..;53S5S3s.   .,,,,,,,.,..      i15S5h1:.........,,,..,,:99       
     *      93.:39s:rSGB@A;  ..,,,,.....    .SG3hhh9G&BGi..,,,,,,,,,,,,.,83      
     *      G5.G8  9#@@@@@X. .,,,,,,.....  iA9,.S&B###@@Mr...,,,,,,,,..,.;Xh     
     *      Gs.X8 S@@@@@@@B:..,,,,,,,,,,. rA1 ,A@@@@@@@@@H:........,,,,,,.iX:    
     *     ;9. ,8A#@@@@@@#5,.,,,,,,,,,... 9A. 8@@@@@@@@@@M;    ....,,,,,,,,S8    
     *     X3    iS8XAHH8s.,,,,,,,,,,...,..58hH@@@@@@@@@Hs       ...,,,,,,,:Gs   
     *    r8,        ,,,...,,,,,,,,,,.....  ,h8XABMMHX3r.          .,,,,,,,.rX:  
     *   :9, .    .:,..,:;;;::,.,,,,,..          .,,.               ..,,,,,,.59  
     *  .Si      ,:.i8HBMMMMMB&5,....                    .            .,,,,,.sMr
     *  SS       :: h@@@@@@@@@@#; .                     ...  .         ..,,,,iM5
     *  91  .    ;:.,1&@@@@@@MXs.                            .          .,,:,:&S
     *  hS ....  .:;,,,i3MMS1;..,..... .  .     ...                     ..,:,.99
     *  ,8; ..... .,:,..,8Ms:;,,,...                                     .,::.83
     *   s&: ....  .sS553B@@HX3s;,.    .,;13h.                            .:::&1
     *    SXr  .  ...;s3G99XA&X88Shss11155hi.                             ,;:h&,
     *     iH8:  . ..   ,;iiii;,::,,,,,.                                 .;irHA  
     *      ,8X5;   .     .......                                       ,;iihS8Gi
     *         1831,                                                 .,;irrrrrs&@
     *           ;5A8r.                                            .:;iiiiirrss1H
     *             :X@H3s.......                                .,:;iii;iiiiirsrh
     *              r#h:;,...,,.. .,,:;;;;;:::,...              .:;;;;;;iiiirrss1
     *             ,M8 ..,....,.....,,::::::,,...         .     .,;;;iiiiiirss11h
     *             8B;.,,,,,,,.,.....          .           ..   .:;;;;iirrsss111h
     *            i@5,:::,,,,,,,,.... .                   . .:::;;;;;irrrss111111
     *            9Bi,:,,,,......                        ..r91;;;;;iirrsss1ss1111
     */

 

#include
using namespace std;
typedef long long LL;
struct qwe
{
    LL fo,to;
} q[100005],w[100005],z[100005],tmp;
LL head[100005],head1[100005];
LL cnt1,cnt2;
void add(LL a,LL b)
{
    q[cnt1].to=b;
    q[cnt1].fo=head[a];
    head[a]=cnt1++;
}
 
void add1(LL a,LL b)
{
    w[cnt2].to=b;
    w[cnt2].fo=head1[a];
    head1[a]=cnt2++;
}
LL vis1[100005],vis2[100005];
int main()
{
    LL i,j,d,e,p,t,m,n,a,b,ans;
    while(~scanf("%lld",&t))
    {
        while(t--)
        {
            scanf("%lld%lld",&n,&m);
            cnt1=cnt2=0;
            memset(head1,-1,sizeof(head1));
            memset(head,-1,sizeof(head));
            memset(vis2,0,sizeof(vis2));
            memset(vis1,0,sizeof(vis1));
            for(i=0; iqu;
            map,LL>mp;
            vis1[1]=vis2[1]=1;
            for(i=head[1]; i!=-1; i=q[i].fo)
            {
                qu.push(q[i].to);
                mp[make_pair(1,q[i].to)]=1;
                vis1[q[i].to]=1;
            }
            while(!qu.empty())
            {
                a=qu.front();
                qu.pop();
                for(i=head[a];i!=-1;i=q[i].fo)
                {
                    if(!vis1[q[i].to])
                    {
                        qu.push(q[i].to);
                        mp[make_pair(a,q[i].to)]=1;
                        vis1[q[i].to]=1;
                    }
                }
            }
            for(i=head1[1]; i!=-1; i=w[i].fo)
            {
                qu.push(w[i].to);
                mp[make_pair(w[i].to,1)]=1;
                vis2[w[i].to]=1;
            }
            while(!qu.empty())
            {
                a=qu.front();
                qu.pop();
                for(i=head1[a];i!=-1;i=w[i].fo)
                {
                    if(!vis2[w[i].to])
                    {
                        qu.push(w[i].to);
                        mp[make_pair(w[i].to,a)]=1;
                        vis2[w[i].to]=1;
                    }
                }
            }
            ans=0;
            for(i=0;(i2*n);i++)
            {
                if(mp[make_pair(z[i].fo,z[i].to)]!=1)
                {
                    printf("%lld %lld\n",z[i].fo,z[i].to);
                    ans++;
                }
            }
        }
    }
    return 0;
}

 

你可能感兴趣的:(HH)