社区讨论

为什么会UKE?

P8482 「HGOI-1」Number参与者 3已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@lo2fe41p
此快照首次捕获于
2023/10/23 12:56
2 年前
此快照最后确认于
2023/10/23 12:56
2 年前
查看原帖
CPP
#include<iostream>
using namespace std;
const int Nm=1e7+2;
int a[Nm],b1[Nm],b2[Nm];
int main(){
	int x,tn=0,t1=0,t2=0;
	for(int i=0;i<10;i++){//1e7
		cin>>x;
		while(x>0){
			a[tn]=i;
			tn++;
			x--;
		}
	}
	tn--;
	while(tn>0 && a[tn]==a[tn-1]){
		b1[t1]=a[tn];
		b2[t2]=a[tn-1];
		t1++;
		t2++;
		tn-=2;	
	}
	if(tn>=0){
		b1[t1]=a[tn];
		t1++;
		tn--;
	}
	if(tn>=0){
		b2[t2]=a[tn];
		t2++;
		tn--;
	}
	for(int i=tn;i>=0;i--){//1e7
		b2[t2]=a[i];
		t2++;
		if(i>0){
			i--;
			b1[t1]=a[i];
			t1++;
		}
	}
	//不能做乘法
	//做除法
	int g=0,f=0;
	if(b1[t1-1]==0){//b1/2,b2*2
		for(int i=0;i<t1;i++){//b1/=2;
			g=g*10+b1[i];
			b1[i]=g/2;
			g%=2;
			if(f==0 && b1[i]>0)f=1;
			if(f==1)cout<<b1[i];
		}
		cout<<endl;
		g=0;
		for(int i=t2-1;i>=0;i--){//b2*=2;
			g+=b2[i]*2;
			b2[i]=g%10;
			g/=10;
		}
		if(g>0)cout<<g;
		for(int i=0;i<t2;i++)cout<<b2[i];
	}
	else{
		for(int i=0;i<t2;i++){//b2/=2;
			g=g*10+b2[i];
			b2[i]=g/2;
			g%=2;
			if(f==0 && b2[i]>0)f=1;
			if(f==1)cout<<b2[i];
		}
		cout<<endl;
		g=0;
		for(int i=t1-1;i>=0;i--){//b1*=2;
			g+=b1[i]*2;
			b1[i]=g%10;
			g/=10;
		}
		if(g>0)cout<<g;
		for(int i=0;i<t1;i++)cout<<b1[i];
	}
	return 0;
}

回复

10 条回复,欢迎继续交流。

正在加载回复...