1065 单身狗 (25 分)(测试点1 3)

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

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

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

3
本题思路,就是设计三个数组,一个存放配对(初始赋值-1,因为后面还有id00000的这种),一个存放输入的,一个存放单身的
比方说一对 10000 20000,对数组就这样赋值a[10000]=20000,a[20000]=10000
对输入的数组遍历,如果对应的伴侣数组值为负数,表示他没有伴侣,否则看这个输入的数组中是否存在他的伴侣(向前和向后查找),否则也是单身。单身的一次防暑单身数组,然后对他们进行升序排序

测试点1 3,就是在于0这个问题,注意一下两点,用我这种方法的将数组的初值赋予-1,而不是0,第二就是输出时的格式printf(""%05d)输出就可以把id按成5个域宽,从从右向左用0补齐

#include<stdio.h>
void sort(int *danshengou,int N)
{
	int i,j,t;
	for(i=0;i<N-1;i++)
	{
		for(j=i+1;j<N;j++)
		{
			if(danshengou[i]>danshengou[j])
			{
				t=danshengou[i];
				danshengou[i]=danshengou[j];
				danshengou[j]=t;
			}
		}
	}
}
int main()
{
	int i,j,k,N;
	int number[100000]={0};
	int id[100000];//存放ID 
	int danshengou[100000];//单身狗 
	int count=0; 
	int a,b;
	scanf("%d",&N);
	for(i=0;i<N;i++)
	{
		number[i]=-1;
	}
	for(i=0;i<N;i++)
	{
		scanf("%d %d",&a,&b);
		number[a]=b;
		number[b]=a;
	}
	scanf("%d",&N);
	for(i=0;i<N;i++)
	{
		scanf("%d",&a);
		id[i]=a;
	}
	for(i=0;i<N;i++)
	{
		if(number[id[i]]<0)//他没有伴侣
		{
			danshengou[count++]=id[i];
		}
		else//查找是否有他的伴侣 
		{
			//从前查找
			{
				for(j=0;j<i;j++)
				{
					if(id[j]==number[id[i]])
					break;	
				}	
				if(j==i)//前面没有找到,找后面 
				{
					for(k=i+1;k<N;k++)
					{
						if(id[k]==number[id[i]])
						break;
					}
					if(k==N)//没有找到 
					{
						danshengou[count++]=id[i];
					}
			    } 
			} 
		}
	}
	sort(danshengou,count);
	printf("%d\n",count);
	printf("");
	for(i=0;i<count;i++)
	{
		if(i>0)
		printf(" ");
		printf("%05d",danshengou[i]);
	}
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
测试阶段 3 测试用例的分类 3 文本框需求 4 字段为特殊代码校验: 4 文本框为数值型 4 文本框为日期型 5 文本框为时间型 6 密码框 返回目录 6 单选按钮 7 组合列表框/下拉列表 7 数码框(up-down)控件 8 搜索框填充域测试 8 复选框 9 滚动条 9 通过测试: 返回目录 9 失败测试: 10 登陆 10 添加 10 删除 10 查询 返回目录 11 翻页控件 12 树控件的测试外观操作返回目录 12 命令按钮 返回目录 13 一、各种控件在窗体中混和使用时的测试 13 选项卡 返回目录 14 默认焦点 14 TAB顺序 14 快捷键/热键 14 上传文件的测试 14 下载文件的测试 15 【安全性测试】 16 功能测试 v返回目录 16 兼容性测试 17 【性能测试】 17 邮箱输入框字段校验测试 18 验证码输入框字段校验测试 18 替换测试大体相同. 返回目录 19 插入文件 19 链接文件 19 插入对象 19 编辑操作 19 界面测试【UI】 20 窗体 20 标题栏 21 文字 21 控件 21 图片 22 窗口在任务栏上的系统菜单 22 提示对话框测试要点: 23 菜单 23 特殊属性 24 其他 24 新增功能 24 修改功能 24 删除功能 25 查询功能 25 权限检查 26 提示功能检查 26 并发功能 27 导出功能 28 导入功能 28 多币别测试 29 打印功能 29 日志检查 29 导航相关检查 30 返回功能检查 30 重置检查 30 PDF测试 30 发送邮件 31 扫描枪 31 安装测试 31 卸载测试 32 更新 33 键盘操作 33 快捷键支持 34 测试驱动程序设计 34 【易用性测试】 35 导航 功能导航 主要功能的导航是否在明显位置 35 菜单 采用“常用--主要--次要--工具--帮助”的位置排列 35 工具栏 相同或相近功能的工具栏放在一起 36 索引 索引的排列顺序要主次有分 36 按钮 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置 36 快捷键 常用功能要支持快捷键 36 帮助和支持 获取帮助 操作时要提供及时调用系统帮助的功能 36 通用类 系统业务流程需要易于用户理解 37 错误处理 错误规避 37 错误提示 37 一致性 37 与Windows等标准一致 37 内部操作一致 38 反馈信息 38 工作提示 38 功能提示 38 功能性 38 完备性 38 便捷功能 39 控制 可控性 39 视觉清晰 39 布局 39 资源 39 字体 39 颜色 40 语言 文字表达 40 专项测试角度:push测试(推送测试)、交互模式: 40

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值