P1065 单身狗
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 单身狗的更多相关文章
- phpwamp单身狗模式的详解与分析,单身狗模式/即霸体模式的作用讲解。
最近有学生在使用PHPWAMP的时候,问我霸体模式的作用. 学生问:老师,PHPWAMP里面的霸体模式是什么意思,有什么用? 回答:额...就是以前我发布测试版的时候,模式切换里面的单身狗模式. 学生 ...
- PAT乙级 1065. 单身狗(25) by Python
1065. 单身狗(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue "单身狗"是中文对 ...
- 《Java从入门到放弃》JavaSE篇:综合练习——单身狗租赁系统(数组版)
因为现在只学习了基本语法,所以在综合练习之前,先补充关于方法概念. 方法的作用:把一系列的代码放在一起,然后再取个别名.之后通过这个别名的调用,就相当于执行了这一系列的代码. 方法的语法:([]中的内 ...
- 《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统
今天,我们要玩个大的!!! 我们把之前使用数组做的这个单身狗系统改版成数据库版本,并且使用面向对象里面的一些简单思想.如果有不知道这个系统的看官,请跳转到目录页,然后再选择单身狗系统(数组版)先围观五 ...
- PAT Basic 1065 单身狗
单身狗(25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue "单身狗"是中文对于单身人士的 ...
- PAT 乙级 1065 单身狗 (25 分)
1065 单身狗 (25 分) “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000),是 ...
- 【PAT】B1065 单身狗(25 分)
#include<stdio.h> #include<algorithm> #include<math.h> using namespace std; int ca ...
- PAT 1065 单身狗(25)(STL-map+思路+测试点分析)
1065 单身狗(25 分) "单身狗"是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ ...
- PAT——1065. 单身狗
“单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数:随后N行 ...
随机推荐
- Android开发Intent应用概述
原文: http://bbs.gfan.com/android-93448-1-1.html 今天,我们来研究一下Intent,没错,就是前面说过的比较难理解的那个东西,希望通过这篇文章之后,你发现前 ...
- subprocess.Popen()
def run(): str_shell='ipconfig' sub=subprocess.Popen(args=str_shell,shell=True,stdin=subprocess.PIPE ...
- Mysql基本用法-存储引擎-04
MYSQL中只有 INNODB和BDB 类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!) Mysql基本用法-存储引擎-02中的test_user表 和 phpcvs表 <?php ...
- SpringBoot爬虫小说阅读网站,定时更新小说和抓取功能
SpringBoot 小说爬虫搭建阅读网站 通过jsoup采集数据到mysql数据.redis作为缓存框架,减轻服务器压力.部署在linux,网站UI套纵横中文网! http://47.107.116 ...
- 时间选择器UIDatePicker的使用
UIDatePicker的介绍 UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和时间.iPhone手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件.使用这个控件时,如果你能配 ...
- unity优化-GPU(网上整理)
优化-GPUGPU与CPU不同,所以侧重点自然也不一样.GPU的瓶颈主要存在在如下的方面: 填充率,可以简单的理解为图形处理单元每秒渲染的像素数量.像素的复杂度,比如动态阴影,光照,复杂的shader ...
- spark实验(一)--linux系统常见命令及其文件互传(2)
2.使用 Linux 系统的常用命令 启动 Linux 虚拟机,进入 Linux 系统,通过查阅相关 Linux 书籍和网络资料,或者参考 本教程官网的“实验指南”的“Linux 系统常用命令”,完成 ...
- Spring学习(四)
Spring Ioc容器 1.具有依赖注入功能的容器.负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖.在Spring中BeanFactory是Ioc容器的实际代表者.BeanFactor ...
- Kali中文乱码问题
上面的是用网上介绍的安装组件无法安装,老是提示最后一句:Unable to locate package ...... 后来觉得应该是因为安装Kali时在最后有个选择更新系统的一个配置上,我选择了下面 ...
- 为什么很多 Android 程序喜欢在存储卡根目录建文件夹来存储数据而不是 Android/data 目录下?
知乎回答. http://www.zhihu.com/question/19866689 pansz,欢迎评论 知乎用户.弓长.知乎用户 赞同 这个道理很简单:因为没人管啊.你乱存放文件,在a ...