P1065 单身狗

转跳点:

1065 单身狗 (25分)

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

输入格式:

输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。

输出格式:

首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。

输入样例:

3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333

输出样例:

5
10000 23333 44444 55555 88888

我抗议,这是一道单身狗歧视的题! ! ! (为什么分值最多的题要提及这么沉重的话题,拉仇恨啊

这道题我AC思路是,通过在数组上存储形成情侣之间的相互映射来实现非单身狗标记

然后是逐一读取来客ID

如果ID有对应值, 说明有配偶, 数组相应位置标记”已签到”

如果ID没有对应值, 说明是单身狗, 数组相应位置标记”落单”(另一个宏定义)遍历数组, 不管值为”已签到”和”落单”的. 如果一个ID对应有非负值(即合法ID值,说明ta是有配偶的), 进一步如果这个值对应值是”已签到”,说明ID没有来, 而ta的配偶来了(对照上面操作不难理解). ID这个人算是”落单”,标记上

最后再遍历一次, 值为”落单”的输出即可

#include <stdio.h>
#include <stdlib.h>
#include <string.h> #define DOG -2
#define SINGLE -3 int Couple[100000]; int main(void)
{
int count = 0, n, IDL, IDR;
memset(Couple, -1, sizeof(Couple)); scanf("%d", &n);
for (int i = 0; i < n; i++)
{ //形成情侣映射
scanf("%d %d", &IDL, &IDR);
Couple[IDL] = IDR;
Couple[IDR] = IDL;
} scanf("%d", &n); for (int i = 0; i < n; i++)
{ //读取参加聚会的ID
scanf("%d", &IDL);
if (Couple[IDL] >= 0)
{ //如果是撒狗粮的无论是一直还是两只先都变狗
Couple[IDL] = DOG; //暂时让ta变成单身狗
}
else
{ //余下的就真的是狗了
Couple[IDL] = SINGLE;
count++;
}
} for (size_t i = 0; i < 100000; i++)
{ //这一部分用于实现给撒狗粮没撒成的在这次聚会中变成真狗
if (Couple[i] >= 0 && DOG == Couple[Couple[i]])
{ //如果当前ID能够追寻到另一个ID就代表被追寻到的肯定是没撒成狗粮的
Couple[Couple[i]] = SINGLE;
count++;
}
} printf("%d\n", count);
for (size_t i = 0; i < 100000; i++)
{ //只要是SINGLE就是是单身,管ta来干什么的,兄弟姐妹们,抢啊
if (SINGLE == Couple[i])
{
printf("%05d%s", i, --count ? " " : "");
}
} return 0;
}

P1065 单身狗的更多相关文章

  1. phpwamp单身狗模式的详解与分析,单身狗模式/即霸体模式的作用讲解。

    最近有学生在使用PHPWAMP的时候,问我霸体模式的作用. 学生问:老师,PHPWAMP里面的霸体模式是什么意思,有什么用? 回答:额...就是以前我发布测试版的时候,模式切换里面的单身狗模式. 学生 ...

  2. PAT乙级 1065. 单身狗(25) by Python

    1065. 单身狗(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue "单身狗"是中文对 ...

  3. 《Java从入门到放弃》JavaSE篇:综合练习——单身狗租赁系统(数组版)

    因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念. 方法的作用:把一系列的代码放在一起,然后再取个别名.之后通过这个别名的调用,就相当于执行了这一系列的代码. 方法的语法:([]中的内 ...

  4. 《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统

    今天,我们要玩个大的!!! 我们把之前使用数组做的这个单身狗系统改版成数据库版本,并且使用面向对象里面的一些简单思想.如果有不知道这个系统的看官,请跳转到目录页,然后再选择单身狗系统(数组版)先围观五 ...

  5. PAT Basic 1065 单身狗

    单身狗(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue "单身狗"是中文对于单身人士的 ...

  6. PAT 乙级 1065 单身狗 (25 分)

    1065 单身狗 (25 分) “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000),是 ...

  7. 【PAT】B1065 单身狗(25 分)

    #include<stdio.h> #include<algorithm> #include<math.h> using namespace std; int ca ...

  8. PAT 1065 单身狗(25)(STL-map+思路+测试点分析)

    1065 单身狗(25 分) "单身狗"是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤  ...

  9. PAT——1065. 单身狗

    “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数:随后N行 ...

随机推荐

  1. vue项目中vant tab改变标签颜色

    找了几种方法,只有下面这个方法是生效的: <van-tabs v-model="active" sticky title-active-color="#144a9e ...

  2. jxl读取设置过数据有效性的xls文件报错

    //在用jxl读入excel时,一直报如下错误: Warning: Cannot read drop down range Unrecognized token 43 Exception in thr ...

  3. 获取当前表中的最大自增id的下一个自增id值

    SELECT auto_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='{$db_name}' AND TABLE_NAM ...

  4. ES5-严格模式

    在es5中可以开启一种严格模式的代码形式,开启方式是:将全局或者函数的第一条语句定义为:'use strict';. 如果浏览器不支持,会将其解析为一条普通语句,没有任何的副作用. 开启全局模式后会有 ...

  5. c++中的运算符重载operator2(翁恺c++公开课[31-33]学习笔记)

    上一篇operator1中,大概说了下重载的基本用法,接下来对c++中常见的可重载运算符归一下类,说一下它们的返回值,讨论下较为复杂的运算符重载上的坑

  6. 搭建私有CA并实现证书颁发

    一.搭建私有CA服务器 1.安装包 # yum -y install openssl 2.生成密钥对儿 # cd /etc/pki/CA # (umask 077;openssl genrsa -ou ...

  7. JSTL fn:replace()函数替换 换行符

    转自:http://blog.163.com/chenjie_8392/blog/static/439339842010513128139/ 近日在使用textarea时,输入了回车,为了将texta ...

  8. Windows下载编译Qt5 Gui

    安装工具 Python 这个安装的时候没记录下来,网上查一下,大把, 就不补了. ActivePerl https://www.cnblogs.com/dilex/p/10591579.html 下载 ...

  9. H5中input输入框tppe为date时赋值(回显)

    1.当时间为2013-09-05时正常显示 <input class="form-control" name="applytime" type=" ...

  10. Scrapy 下载文件和图片

    我们学习了从网页中爬取信息的方法,这只是爬虫最典型的一种应用,除此之外,下载文件也是实际应用中很常见的一种需求,例如使用爬虫爬取网站中的图片.视频.WORD文档.PDF文件.压缩包等. 1.Files ...