求助,编译不过TAT
  • 板块P2104 二进制
  • 楼主yzk666
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/7/21 20:32
  • 上次更新2023/11/3 08:21:47
查看原帖
求助,编译不过TAT
1036760
yzk666楼主2023/7/21 20:32
#include<bits/stdc++.h>
using namespace std;
int lenth,types,a;
char num[5000000005];
char c,d;
int main(){
	cin>>lenth>>types;
	for(int i = 0;i<lenth;i++){
		cin>>num[i];
	}
	cin>>c;
	for(int i = 0;i<types-1;i++){
		cin>>d;
		if(c=='+'and d=='-' or c=='-'and d=='+' or c=='*'and d=='/'or c=='/'and d=='*'){
			cin>>d;
			i += 1;
		}
		else{
			if(c=='+'){
				a=lenth-1;
				while(num[a] =='1'){
					num[a]='0';
					a--;
				}
				num[a]='1';
			}
			else if(c=='-'){
				a=lenth-1;
				while(num[a] =='0'){
					num[a]='1';
					a--;
				}
				num[a]='0';
			}
			else if(c=='*'){
				lenth++;
				num[lenth-1]='0';
			}
			else{
				num[lenth-1]='0';
				lenth--;
			}
		}
		c=d; 
	}
	if(c=='+'){
		a=lenth;
		while(num[a] =='1'){
			num[a]='0';
				a--;
		}
		num[a]='1';
	}
	else if(c=='-'){
		a=lenth;
		while(num[a] =='0'){
			num[a]='1';
				a--;
		}
		num[a]='0';
	}
	else if(c=='*'){
		lenth++;
		num[lenth-1]='0';
	}
	else{
		num[lenth-1]='0';
		lenth--;
	}
	for(int i = 0;i<lenth;i++)
	   printf("%c",num[i]);
}
2023/7/21 20:32
加载中...