九度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 题目描述: 守形数是这样一种整数, ...
随机推荐
- 免费开放的API
1)新浪IP地址查询API接口 http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址 format有 js. ...
- php throw new Excpetion()之后,程序还往下继续运行吗?
经过测试是不会往下执行的,直接catch抛出异常了.
- node.js在windows下的学习笔记(5)---用NODE.JS创建服务器和客户端
//引入http模块 var http = require('http'); //调用http的createServer的方法,这个方法有一个回调函数,这个回调数 //的作用是当有请求发送给服务器的时 ...
- Qualcomm Web Site For Android Development
https://www.codeaurora.org/xwiki/bin/QAEP/release https://support.cdmatech.com/login/ https://chipco ...
- [React Fundamentals] Component Lifecycle - Mounting Usage
The previous lesson introduced the React component lifecycle mounting and unmounting. In this lesson ...
- Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
近期应用市场做,需要使用.下载与进度显示button,因此,要寻找其他大神做,直接用于改善.和很多无用的切出.在改进共享后. 再一次改变.当下载进度时,有进步.进度显示自己主动运行文本.并设置背景为灰 ...
- web前端开发前景怎么样?
对于web前端开发,对现今前端的发展,中国的发展还很落后,中国没有Jquery,没有Node.js,其中最主要的一点是,中国的前端比较封锁,大家都没有分享的觉悟.回头看看,那些发展比较快的行业.软件, ...
- Linux清空内存缓存
> /proc/sys/vm/drop_caches
- 关于SWT/JFace的事件模型的四种方式
事件的4种写法 1.匿名内部类方式的写法 2.命名内部类的写法 3.外部类写法 4.实现监听接口的写法 第一种用匿名内部类的方法: public class HelloWorld { private ...
- job interview
一 , 7series clock 二, SDRAM comtroller (DDR) 4.熟悉DDR2/3协议或Ethernet相关协议,并有实际项目经验者优先: 三,AXI bus(AMBA) 四 ...