C. Short Program
来源:互联网 发布:电脑电子琴软件下载 编辑:程序博客网 时间:2024/06/07 20:45
很烦最近代码写的跟屎一样
这题很简单,按位来看,与操作只有与0才有意义并且将当前为置为0,或操作只有或1才有意义并且将当前位置为1,也就是说我们把与0看做将当前位置为0,将或1看做将当前位置为1,
异或也是异或1才有意义(这里的变化比较多,用-1表示输入的初始值,那么
如果 异或1并且当前位为 -1,当前操作变为异或1。
如果 异或1并且当前位为 1,当前操作变为与0。
如果 异或1并且当前位为 0,当前操作变为或1。
)
#include<bits/stdc++.h>using namespace std;int main(){ int op[12]; for(int i=0;i<11;i++) op[i]=-1; int n; char c; int p; cin>>n; for(int i=0;i<n;i++) { scanf(" %1c%d",&c,&p); int temp=1; for(int j=0,temp=1;temp<=1024;j++,temp*=2) { if(temp&p) { if(c=='|') op[j]=1; if(c=='^') { if(op[j]==-1) op[j]=2; else if(op[j]==0) op[j]=1; else if(op[j]==1) op[j]=0; else if(op[j]==2) op[j]=-1; } } else { if(c=='&') op[j]=0; } } } int yh,yu,huo; yh=huo=0; yu=1023; for(int i=0,temp=1;i<10;i++) { temp=1<<i; if(op[i]==1) huo+=temp; if(op[i]==0) yu-=temp; if(op[i]==2) yh+=temp; } cout<<3<<endl; cout<<"| "<<huo<<endl<<"& "<<yu<<endl<<"^ "<<yh<<endl;}
阅读全文
0 0
- C. Short Program
- CF #443 C Short Program
- Codeforces 879C Short Program【思维】
- CF 879 C. Short Program 思维+二进制
- Codeforces Round #443 (Div. 2): C. Short Program
- Codeforces #443 Div.2 C. Short Program 【位操作】
- Codeforces Round #443 (Div. 2) C Short Program
- Codeforces Round #443 (Div. 2) C. Short Program
- Codeforces Round #443 (Div. 2) C. Short Program
- codeforces C—Short Program 与或异或运算
- Codeforces Round #443 (Div. 2) C. Short Program 【模拟】
- Codeforces Round #879 (Div. 2) C. Short Program
- Short Program CodeForces
- CF 878A SHORT PROGRAM
- Codeforces Round #443(Div.2) C.Short Program(位运算+思维)
- c program
- Codeforces Round #443 (Div. 1) A. Short Program
- 2 c program idioms
- Java常用类之String类
- NumPy数据存取
- Codeforces Round #443 (Div. 2) C Short Program
- 矩阵乘法及其应用
- Kruscal
- C. Short Program
- Java并发编程之CAS
- 575. Distribute Candies
- Linxu查不到IP
- Python_字符串
- 图的遍历:深度优先、广度优先
- 剖析同步器
- Eigen SVD分解
- Zigbee+SIM900A 通过http协议实现上传数据到云服务器