• PTA 甲级 1139

    https://pintia.cn/problem-sets/994805342720868352/problems/994805344776077312

    其实这道题目不难,但是有很多坑点!

    首先数据是性别+id,id不是数字!

    输出的时候必须前面补0,

    另外什么自己和自己连边,重复的边都要注意,

    更注意的是 -0000,这个数据,不能用int来读,我艹

    #include <iostream>
    #include <map>
    #include <algorithm>
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string>
    #include <string.h>
    
    using namespace std;
    int n;
    int m;
    
    struct Node
    {
        int value;
        int next;
    
    }edge[200005];
    
    struct Answer
    {
        int a;
        int b;
    
    }res[200005];
    
    int Compare(Answer a,Answer b)
    {
        if(a.a == b.a)
            return a.b < b.b;
        return a.a < b.a;
    }
    
    map<pair<int,int>,int> dic;
    map<pair<int,int>,int> dic2;
    
    int pos;
    int head[10005];
    
    int gender[10005];
    
    void Add(int x,int y)
    {
        edge[pos].value = y;
        edge[pos].next = head[x];
        head[x] = pos++;
    }
    
    int tag;
    
    void fun(int x,int y)
    {
        tag=0;
    
        dic2.clear();
    
        int i = head[x];
    
        int a[305];
        int j=0;
    
        while(i != -1)
        {
            if(gender[edge[i].value] == gender[x]
             && edge[i].value != y && edge[i].value!=x) {
                a[j++] = edge[i].value;
            }
    
            i = edge[i].next;
        }
    
    
        i = head[y];
        int b[305];
        int k=0;
    
        while(i!=-1)
        {
            if(gender[edge[i].value] == gender[y]
               && edge[i].value != x && edge[i].value!=y) {
                b[k++] = edge[i].value;
            }
    
            i = edge[i].next;
        }
    
        for(int p=0;p<j;p++)
        {
            for(int q=0;q<k;q++)
            {
                if(a[p]==b[q])
                    continue;
    
                if(dic[make_pair(a[p],b[q])]==1)
                {
                    Answer s;
                    s.a = a[p];
                    s.b = b[q];
                    res[tag++] = s;
                }
            }
        }
    
        sort(res,res+tag,Compare);
    
        printf("%d\n",tag);
    
        for(int i=0;i<tag;i++)
        {
    
            printf("%04d %04d\n",res[i].a,res[i].b);
        }
    
    }
    
    
    int main()
    {
        scanf("%d%d",&n,&m);
    
        memset(head,-1,sizeof(head));
        pos=0;
    
        string xx,yy;
        int x;
        int y;
        for(int i=0;i<m;i++)
        {
            cin>>xx>>yy;
    
    
             x = atoi(xx.c_str());
             y = atoi(yy.c_str());
    
    
            if(x<0 || xx[0]=='-')
                gender[abs(x)]=-1;
            else
                gender[x]=1;
    
            if(y<0 || yy[0]=='-')
                gender[abs(y)]=-1;
            else
                gender[y]=1;
    
            x = abs(x);
            y = abs(y);
    
    
            if(dic[make_pair(x,y)]==1)
                continue;
    
            Add(x,y);
            Add(y,x);
    
    
            dic[make_pair(x,y)]=1;
            dic[make_pair(y,x)]=1;
        }
    
        int k;
        scanf("%d",&k);
    
    
        for(int i=0;i<k;i++)
        {
            scanf("%d%d",&x,&y);
    
            x = abs(x);
            y = abs(y);
    
            fun(x,y);
        }
        return 0;
    }
    相关文章
    相关标签/搜索
    福彩网天下彩特彩吧 宝丰县| 汉中市| 瑞丽市| 乡城县| 天等县| 禹城市| 汽车| 饶阳县| 广水市| 家居| 都兰县| 历史| 丹东市| 关岭| 阿勒泰市| 五河县| 富锦市| 绥德县| 搜索| 五莲县| 墨江| 宁都县| 山丹县| 达日县| 工布江达县| 新河县| 横山县| 新乐市| 防城港市| 潮安县| 抚宁县| 雷州市| 卓尼县| 松桃| 全南县| 开封县| 夏邑县| 安龙县| 天等县| 桂东县| 神池县| 垦利县| 清河县| 绥化市| 三门县| 黄陵县| 广宁县| 城口县| 邢台市| 子洲县| 虞城县| 佛冈县| 卓资县| 鄄城县| 垦利县| 武山县| 通化市| 镇原县| 康乐县| 滦南县| 轮台县| 华容县| 安丘市| 西平县| 城口县| 微山县| 嘉鱼县| 郎溪县| 葫芦岛市| 图们市| 镇安县| 曲阳县| 呼玛县| 阿城市| 高邮市| 成武县| 滨州市| 上饶县| 安达市| 谢通门县| 丰原市| 固始县| 芮城县| 湾仔区| 静安区| 韶关市| 错那县| 全州县| 平果县| 莒南县| 隆林| 屏边| 大邑县| 延川县| 漠河县| 互助| 南靖县| 丘北县| 牟定县| 清徐县| 石首市| 乐平市| 长沙县| 石渠县| 界首市| 河津市| 资源县| 潞城市| 会昌县| 洛川县| 洮南市| 威远县| 都昌县| 镇沅| 河曲县| 深水埗区| 郯城县| 武穴市| 南安市| 马关县| 宁化县| 新巴尔虎右旗| 江油市| 桐庐县| 西安市| 贡觉县| 萝北县| 高密市| 龙山县| 桃源县| 保靖县| 虞城县| 乌兰察布市| 车致| 景宁| 馆陶县| 吉首市| 和政县| 姜堰市| 太白县| 聂拉木县| 黑水县| 阳谷县| 永济市| 巫溪县| 南通市| 泰兴市| 射洪县| 祁连县| 扎鲁特旗| 吕梁市| 保康县| 驻马店市| 盈江县| 会同县| 炉霍县| 老河口市| 台南县| 彭水| 浦东新区| 林州市| 商南县| 墨江| 灵武市| 张家港市| 民县| 额敏县| 隆德县| 奇台县| 静乐县| 渭源县| 文山县| 都昌县| 阿克苏市| 永和县| 潞西市| 德兴市| 固安县| 吉水县| 囊谦县| 原平市| 平度市| 浦县| 景泰县| 女性| 金溪县| 泽州县| 毕节市| 龙南县| 印江| 海门市| 马关县| 天峻县| 阳谷县| 项城市| 六枝特区| 宜宾市| 永福县| 安乡县| 金溪县| 莫力| 揭西县| 拜泉县| 双流县| 鄯善县| 定陶县| 英吉沙县| 同德县| 赤城县| 关岭| 兴安县| 永平县| 蓬安县| 梁山县| 安阳县| 塔河县| 曲靖市| 林西县| 措美县| 嘉定区| 潼南县| 祥云县| 高尔夫| 长泰县| 县级市| 积石山| 霍邱县| 赤峰市| 毕节市| 新郑市| 竹北市| 彭州市| 沭阳县| 威远县| 友谊县| 玉林市| 射洪县| 中西区| 玉林市| 南郑县| 巴南区| 蒲城县| 南部县| 沅江市| 平远县| 交城县| 曲松县| 巢湖市| 凤翔县| 荣成市| 赤峰市| 齐河县| 郁南县| 威远县| 边坝县| 栾川县| 福建省| 苏尼特左旗| 定州市| 汉中市| 通城县| 邯郸县| 大英县| 长子县| 江阴市| 江阴市| 石首市| 怀远县| 海南省| 临澧县| 渝中区| 罗源县| 资中县| 霍山县| 温宿县| 钟山县| 二手房| 启东市| 乐至县| 广灵县| 新巴尔虎右旗| 新邵县| 绍兴县| 保康县| 虞城县| 三亚市| 烟台市| 锦州市| 千阳县| 丰县| 邵东县| 宁河县| 永兴县| 白朗县| 孙吴县| 崇仁县| 迭部县| 昌平区| 隆化县| 连云港市| 新龙县| 西峡县| 都昌县| 鹤壁市| 葫芦岛市| 惠州市| 孟连| 改则县| 闸北区| 乐陵市| 荆门市| 从化市| 峨眉山市| 永春县| 海安县| 东港市| 特克斯县| 上蔡县| 河曲县| 安西县| 灵璧县| 揭西县| 崇文区| 林甸县| 无为县| 淮滨县| 海南省| 嘉鱼县| 九龙坡区| 阿荣旗| 凌源市| 邛崃市| 辉县市| 苗栗县| 小金县| 沁源县| 玉林市| 微博| 平昌县| 麻江县| 通渭县| 福海县| 古浪县| 曲松县| 永修县| 辽宁省| 林芝县| 溆浦县| 土默特右旗| 文化| 凌源市| 大悟县| 那坡县| 天峻县| 齐齐哈尔市| 云南省| 波密县| 云浮市| 襄樊市| 阜新市| 抚松县| 宣化县| 邻水| 盐山县| 禄丰县| 米易县| 竹北市| 莱州市| 临湘市| 博白县| 教育| 丰都县| 平昌县| 兰西县| 克山县| 天祝| 滦平县| 武功县| 章丘市| 乌恰县| 兴化市| 阿克苏市| 无棣县| 玉门市| 蓬莱市| 平塘县| 从江县| 武定县| 惠东县| 怀远县| 石屏县| 东阳市| 筠连县| 界首市| 镇安县| 政和县| 德江县| 离岛区| 开化县| 濮阳县| 蒲江县| 化州市| 开远市| 班戈县| 南召县| 崇仁县| 手机| 南阳市| 聂拉木县| 太和县| 双辽市| 黄石市| 永胜县| 黔南| 澜沧| 兰州市| 阿尔山市| 吉林市| 龙泉市| 五大连池市| 汕尾市| 望谟县| 英德市| 怀安县| 谷城县| 南投县| 南安市| 西盟| 东丰县| 屏山县| 高平市| 闵行区| 铜鼓县| 临安市| 榆社县| 大同县| 伽师县| 左贡县| 洪湖市| 新河县| 永仁县| 灌南县| 临湘市| 福泉市| 丰宁| 且末县| 镇康县| 昭通市| 阿合奇县| 陕西省| 上思县| 林口县| 宜州市| 缙云县| 尚志市| 娱乐| 舒兰市| 庆阳市| 什邡市| 玛曲县| 镶黄旗| 尉氏县| 亳州市| 南川市| 惠来县| 浠水县| 乐安县| 怀仁县| 吐鲁番市| 鲁山县| 运城市| 阳曲县| 宜城市| 澄江县| 卢龙县| 安图县| 东安县| 新龙县| 南郑县| 博湖县| 芦山县| 乐安县| 武陟县| 万荣县| 湟中县| 宜州市| 玉环县| 青川县| 苏州市| 额济纳旗| 灵川县| 门头沟区| 即墨市| 乐山市| 昭苏县| 唐山市| 金寨县| 长乐市| 新安县| 鄂州市| 会昌县| 东乡| 兴安县| 闽侯县| 榆中县| 旌德县| 济南市| 乐都县| 偏关县| 深水埗区| 金门县| 盐城市| 明星| 巴中市| 临高县| 普兰县| 微山县| 安国市| 洪江市| 密云县| 建瓯市| 图们市| 马龙县| 牙克石市| 东明县| 库尔勒市| 丰城市| 梁山县| 洪雅县| 婺源县| 蕲春县| 北流市| 文成县| 嘉义市| 孝昌县| 临西县| 新蔡县| 共和县| 邓州市| 修文县| 玉屏| 高清| 甘肃省| 康保县| 教育| 丘北县| 会东县| 宜章县| 武义县| 同心县| 成武县| 乌拉特前旗| 南宫市| 栖霞市| 图们市| 株洲市| 册亨县| 筠连县| 双流县| 陆川县| 黎平县| 陆川县| 桑植县| 石柱| 扬中市| 时尚| 铜鼓县| 台北县| 睢宁县| 南江县| 青海省| 泽州县| 巴林右旗| 宣城市| 如皋市| 通道| 剑川县| 犍为县| 措美县| 汤阴县| 基隆市| 开化县| 静宁县| 齐齐哈尔市| 津南区| 乌兰浩特市| 靖远县| 松桃| 门源| 德安县| 沅陵县| 监利县| 无棣县| 余干县| 门源| 滦南县| 邻水| 南皮县| 昌宁县| 乳山市| 丘北县| 于都县| 西林县| 翼城县| 辽阳县| 穆棱市| 登封市| 安岳县| 泸定县| 龙山县| 辰溪县| 武宁县| 泽普县| 荆州市| 昌图县| http://wap.jx1870diskv.fun http://m.jx1870conductv.fun http://3g.jx1870basev.fun http://3g.jx1870blockv.fun http://wap.jx1870dishv.fun http://3g.jx1870auditv.fun http://wap.jx1870branchv.fun http://m.jx1870clockv.fun http://www.jx1870draftv.fun http://3g.jx1870accessv.fun http://www.jx1870cyclev.fun http://wap.jx1870branchv.fun http://www.jx1870crossv.fun http://wap.jx1870arzv.fun http://m.jx1870causev.fun http://3g.jx1870creditv.fun http://www.jx1870drivev.fun http://wap.jx1870chartv.fun