九度OJ 1402 特殊的数 -- 位操作
题目地址:http://ac.jobdu.com/problem.php?pid=1402
- 题目描述:
-
现在有n个数,其中有一些出现了一次,一些出现了两次,一些出现了很多次。现在要求你找出那些只出现一次的数,并按升序输出。
- 输入:
-
本题有多组case。
每个case有两行,第一行输入一个n,表示有n个数,1<= n <= 1000000。
第二行有n个数字。每个数字的大小范围[1, 1000000]。
- 输出:
-
每次输出有两行。
第一行输出一个整数,表示出现一次的数的个数。
第二行按升序输出出现次数为一次的数字,两个数字之间用空格隔开。
- 样例输入:
-
5
1 2 2 3 3
7
1 2 2 3 4 4 2
2
2 2
- 样例输出:
-
1
1
2
1 3
0
#include <stdio.h>
#include <string.h> #define MAX 1000001 char input[MAX]; int main(void) {
int n;
int i;
int data, cnt;
while (scanf("%d", &n) != EOF){
memset(input, 0, sizeof(input));
for (i = 0; i < n; ++i){
scanf("%d", &data);
if (input[data] == 0){
input[data] = 1;
}
else if (input[data] == 1){
input[data] = -1;
}
}
cnt = 0;
for (i = 1; i < MAX; ++i)
if (input[i] == 1)
++cnt;
printf("%d\n", cnt);
i = 0;
while (i < MAX && cnt != 0){
if (input[i] == 1){
if (cnt != 1)
printf("%d ", i);
else
printf("%d\n", i);
--cnt;
}
++i;
}
}
return 0;
}
位操作
#include <stdio.h>
#include <string.h> #define MAX 125010 unsigned char input[MAX];//标记数字是否出现过
unsigned char num[MAX];//标记数字是否只出现过一次 int main(void) {
int n;
int i;
int data, index, bit, cnt;
while (scanf("%d", &n) != EOF){
memset(input, 0, sizeof(input));
memset(num, 0, sizeof(num));
for (i = 0; i < n; ++i){
scanf("%d", &data);
index = data / 8;//第data位所在单元下标
bit = data % 8;//第data位在下标index单元的bit位
if ((input[index] & (1 << bit)) == 0){
input[index] |= (1 << bit);
}
else if ((num[index] & (1 << bit)) == 0){
num[index] |= (1 << bit);
}
}
cnt = 0;
for (i = 1; i <= 1000000; ++i){
index = i / 8;
bit = i % 8;
if ((input[index] & (1 << bit)) && !(num[index] & (1 << bit)))
++cnt;
}
printf("%d\n", cnt);
i = 1;
while (i <= 1000000 && cnt != 0){
index = i / 8;
bit = i % 8;
if ((input[index] & (1 << bit)) && !(num[index] & (1 << bit))){
if (cnt != 1)
printf("%d ", i);
else
printf("%d\n", i);
--cnt;
}
++i;
}
}
return 0;
}
九度OJ 1402 特殊的数 -- 位操作的更多相关文章
- 九度OJ 1209 最小邮票数 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1209 题目描述: 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值. 如,有1分,3分,3分,3 ...
- 九度OJ 1214 寻找丑数【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因 ...
- 九度OJ 1183 守形数 (模拟)
题目1183:守形数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2663 解决:1424 题目描写叙述: 守形数是这样一种整数.它的平方的低位部分等于它本身. 比方25的平方是625. ...
- 九度OJ 1214:丑数 (整除)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2180 解决:942 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因 ...
- 九度OJ 1060:完数VS盈数 (数字特性)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5590 解决:2093 题目描述: 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1.则称其为"完数" ...
- 九度OJ 1050:完数 (数字特性)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7535 解决:3125 题目描述: 求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+ ...
- 九度OJ 1129:Skew数 (大数运算)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:734 解决:548 题目描述: 在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 ...
- 【九度OJ】题目1074:对称平方数 解题报告
[九度OJ]题目1074:对称平方数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1074 题目描述: 打印所有不超过n( ...
- 【九度OJ】题目1183:守形数 解题报告
[九度OJ]题目1183:守形数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1183 题目描述: 守形数是这样一种整数, ...
随机推荐
- JavaScript要点(九)HTML DOM
通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素. HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object M ...
- 【转】来自《轻松scrum之旅》的敏捷开发总结
敏捷开发的核心价值观是,软件开发最重要的是给用户提供有价值的.可以工作的软件.如何保证提供有价值的软件,是通过反馈机制来完成的.这一点,我们体会很深.自从采用敏捷开发以后,我们比以前更有意识地希望得到 ...
- Android开发实例之多点触控程序
智能终端设备的多点触控操作为我们带来了种种炫酷体验,这也使得很多Android开发者都对多点触控程序的开发感兴趣.实际上多点触控程序的实现并不是那么遥不可及,而是比较容易.本文就主要通过一个实例具体讲 ...
- 03---JavaScript基础整理
一.概述: Netscape开发的一种基于对象和事件驱动的脚本语言. 被设计用来想HTML页面添加交互行为. 无需编译,可由浏 ...
- C#_MVC_Repository_CURD_Controller
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Mybatis案例
MyBatis MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索. MyBatis 可 ...
- 萌货猫头鹰登录界面动画iOS实现分析
动画效果仿自国外网站readme.io的登录界面,超萌可爱的猫头鹰,具体效果如下图所示. 动画实现核心: 动画核心的是用到了iOS中UIView的transform属性,然后根据尺寸坐标对四张图片进行 ...
- Android(java)学习笔记132:ListViewProject案例(ListView + ArrayAdapter)
1.首先是MainActivity.java文件,如下: package com.himi.lv1; import java.util.ArrayList; import java.util.List ...
- java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file Server/Request
Linux服务器上,将本地编译好的文件上传后,Tomcat启动时报错: Exception in thread "Thread-2" java.lang.ClassFormatEr ...
- 【转】oracle的substr函数的用法
[转]oracle的substr函数的用法 ) would return 'The' ) value from dual