Jzoj3769【NOI2015模拟8.14】A+B
2017-09-27 21:32
197 查看
完成斐波那契进制下的加法运算
第一位为1,第二位为2,依次类推。。
这里其实很简单,只是要考虑一下进位即可
首先连续两位不为零直接向前进位即可
但是不能解决问题,因为可能出现一个位上面的值大于1
那么我们可以这样做,设连续的四位分别为:0,0,2,0
那么我们可以将其变成1,0,0,1
这样就相当于一次进位了,多次重复以上的进位过程即可
这里可以加上第0位方便运算
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,m,a[2000020],b[2000020],t,M;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%d",a+i);
scanf("%d",&m);
for(int i=1;i<=m;++i) scanf("%d",b+i);
t=M=max(n,m)+30;
if(a[1]) b[!b[1]]=1; a[1]=0;
for(int i=1;i<=t;++i) b[i]+=a[i];
for(int C=1;(1<<C)<=M;++C){
for(int i=1;i<=t;++i){
if(b[i]&&b[i-1]){
int t=min(b[i],b[i-1]);
b[i+1]+=t; b[i]-=t; b[i-1]-=t;
}
}
for(int i=++t;i>0;--i){
if(b[i]>1){
b[i+1]++; b[i]-=2;
if(i>1) b[i-2]++;
}
}
}
while(b[t]==0) t--;
printf("%d ",t); b[1]+=b[0];
for(int i=1;i<=t;++i) printf("%d ",b[i]);
}
第一位为1,第二位为2,依次类推。。
这里其实很简单,只是要考虑一下进位即可
首先连续两位不为零直接向前进位即可
但是不能解决问题,因为可能出现一个位上面的值大于1
那么我们可以这样做,设连续的四位分别为:0,0,2,0
那么我们可以将其变成1,0,0,1
这样就相当于一次进位了,多次重复以上的进位过程即可
这里可以加上第0位方便运算
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,m,a[2000020],b[2000020],t,M;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i) scanf("%d",a+i);
scanf("%d",&m);
for(int i=1;i<=m;++i) scanf("%d",b+i);
t=M=max(n,m)+30;
if(a[1]) b[!b[1]]=1; a[1]=0;
for(int i=1;i<=t;++i) b[i]+=a[i];
for(int C=1;(1<<C)<=M;++C){
for(int i=1;i<=t;++i){
if(b[i]&&b[i-1]){
int t=min(b[i],b[i-1]);
b[i+1]+=t; b[i]-=t; b[i-1]-=t;
}
}
for(int i=++t;i>0;--i){
if(b[i]>1){
b[i+1]++; b[i]-=2;
if(i>1) b[i-2]++;
}
}
}
while(b[t]==0) t--;
printf("%d ",t); b[1]+=b[0];
for(int i=1;i<=t;++i) printf("%d ",b[i]);
}
相关文章推荐
- JZOJ 3769. 【NOI2015模拟8.14】A+B
- JZOJ.3769【NOI2015模拟8.14】A+B
- 【JZOJ 3769】【NOI2015模拟8.14】A+B
- 【jzoj3769】【NOI2015模拟8.14】【A+B】
- 【NOI2015模拟8.14】A+B
- 【JZOJ3973】【NOI2015模拟1.10】【NOI2013湖南省队集训】黑白树(wbtree)(并查集)
- 【JZOJ3819】【NOI2015模拟9.9】【hdu 4111】取石子(博弈+贪心+记忆化搜索)
- 【jzoj3773】【NOI2015模拟8.15】【小 P 的烦恼】【动态规划】
- 【jzoj3771】【NOI2015模拟8.15】【小 Z 的烦恼】
- JZOJ 3789. 【NOI2015模拟8.20】编辑器
- JZOJ 3786. 【NOI2015模拟8.19】图
- jzoj3819 [NOI2015模拟9.9]取石子
- JZOJ3789. 【NOI2015模拟8.20】编辑器
- A+B【NOI2015模拟8.14】
- 【JZOJ3962】【NOI2015模拟12.27】str(回文自动机)
- 【JZOJ 3976】【NOI2015模拟1.17】⑨
- 【JZOJ3771】【NOI2015模拟8.15】小 Z 的烦恼
- JZOJ3786. 【NOI2015模拟8.19】图
- JZOJ3975. 【NOI2015模拟1.17】串
- 【NOI2015模拟8.20】编辑器 jzoj 3789 栈+神奇操作