社区讨论
为什么会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 条回复,欢迎继续交流。
正在加载回复...