#include <iostream> using namespace std; int main(){ string str; char t; bool jinwei=true; bool tf; cin>>str>>t; if(str[0]=='0'&&t=='f'){ cout<<str; }else if(str[0]=='1'&&t=='f'){ for(int i=1;i<=str.size();i++){ if(str[i]=='0'){ str[i]='1'; }else if(str[i]=='1'){ str[i]='0'; } } cout<<str; } if(str[0]=='0'&&t=='b'){ cout<<str; }else if(str[0]=='1'&&t=='b'){ for(int i=1;i<=str.size();i++){ if(str[i]=='0'){ str[i]='1'; }else if(str[i]=='1'){ str[i]='0'; } } for(int i=str.size()-1;i>1;i--){ if(str[i]=='1'){ tf=true; }else if(str[i]=='0'){ tf=false; } if(!tf){ break; } } if(tf){ cout<<"11"; for(int i=0;i<str.size()-1;i++){ cout<<'0'; } return 0; } for(int i=str.size()-1;i>=1;i--){ if(str[i]=='0'){ if(jinwei==true){ str[i]='1'; jinwei=false; break; } }else if(str[i]=='1'){ if(jinwei==true){ str[i]='0'; jinwei=true; } } } for(int i=0;i<str.size();i++){ cout<<str[i]; } } return 0; }
标签:false,转反,补码,str,tf,jinwei,true,原码 From: https://www.cnblogs.com/wangyueshuo/p/17778451.html