POJ 3652 Persistent Bits (位运算,模拟)
2013-10-30 12:38
253 查看
直接模拟即可,因为最大周期已知,所以可以直接开数组检测周期
然后就是取出每一位,如果都一样,就输出,不一样就输出‘?’
然后就是取出每一位,如果都一样,就输出,不一样就输出‘?’
#include <stdio.h> #include <string.h> unsigned int ans[65537]; unsigned char check[65537]; int main(void) { unsigned int A,B,C,S; unsigned int count=0,i=0,base=0,a,j=0; while(scanf("%d ",&A)&&A) { scanf("%d %d %d",&B,&C,&S); memset(check,0,sizeof(check)); count=0; while(!check[S]) { check[S]=1; ans[count++]=S; S=(A*S+B)%C; } base=1<<15; for(i=0;i<16;++i) { a=ans[0]&base; for(j=1;j<count;++j) { if(a!=(ans[j]&base)) { break; } } if(j!=count) { putchar('?'); } else { 0==a?putchar('0'):putchar('1'); } base>>=1; } putchar('\n'); } }
相关文章推荐
- POJ 3652 Persistent Bits 简单字符串模拟
- POJ 3652 Persistent Bits (模拟)
- POJ 3652 Persistent Bits 简单字符串模拟
- poj 1950 Dessert(dfs枚举,模拟运算过程)
- POJ 3750 小孩报数问题 (线性表思想 约瑟夫问题 数组模拟运算的 没用循环链表,控制好下标的指向就很容易了)
- POJ_3652_模拟
- poj 3652 Persistent Bits
- POJ 3652 & ZOJ 2934 & HDU 2721 Persistent Bits(数学 元)
- poj 2414 Phylogenetic Trees Inherited 完全二叉树 状态压缩位运算模拟集合操作 动态规划
- POJ 3652 & ZOJ 2934 & HDU 2721 Persistent Bits(数学 进制)
- poj_1068 Parencodings(简单模拟+位运算)
- POJ 3652 Persistent Bits
- POJ - 3652 Persistent Bits
- poj 1013——用运算模拟变换操作
- POJ 1573 Robot Motion 模拟
- POJ训练计划2632_Crashing Robots(模拟)
- POJ - 3087 Shuffle'm Up(模拟)
- POJ 3087 Shuffle'm Up 模拟
- poj 3087 直接模拟
- poj 1330 LCA [ vector 模拟邻接表存图 DFS 找到每个节点的层]