2017 亚洲区(乌鲁木齐赛区)网络赛-A

版权声明:但行好事,莫问前程。 https://blog.csdn.net/Li_Hongcheng/article/details/81916007
#include<bits/stdc++.h>
using namespace std;

int num=-1e9;
struct node
{
    int x,y;

} stu[55];
int cmp(node a,node b)
{
    if(a.x==b.x) return a.y<b.y;
    return a.x<b.x;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        vector<int>v1[55];
        vector<int>v2[55];
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=0; i<n; i++)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            v1[a].push_back(b);
            num=max(a,num);
        }
        for(int i=0; i<m; i++)
        {
            int a,b;
            scanf("%d%d",&a,&b);
            v2[a].push_back(b);

        }
        int cnt=0;
        for(int i=1; i<=num; i++)
        {
            for(int j=0; j<v1[i].size(); j++)
            {
                int t=v1[i][j];
                for(int k=0; k<v2[t].size(); k++)
                {
                    stu[cnt].x=i;
                    stu[cnt].y=v2[t][k];
                    cnt++;
                }
            }
        }
        sort(stu,stu+cnt,cmp);
        for(int i=0; i<cnt-1; i++)
        {
            if(stu[i].x==stu[i+1].x&&stu[i].y==stu[i+1].y)
            {
                stu[i].x=0;
            }

        }
        for(int i=0; i<cnt; i++)
        {
            if(stu[i].x)
                printf("%d %d\n",stu[i].x,stu[i].y);
        }
        printf("\n");
    }
}

猜你喜欢

转载自blog.csdn.net/Li_Hongcheng/article/details/81916007