您的位置:首页 > 其它

POJ 2845

2015-06-11 11:55 260 查看
#include <iostream>
#include <string>
#include <algorithm>
#define MAXN 350
using namespace std;

int _m[MAXN];

int main()
{
//freopen("acm.acm","r",stdin);
int n;
string s_1;
string s_2;
int len_1;
int len_2;
int min;
int i;
int j;
int time = 0;
bool boo;
cin>>n;

while(n --)
{

cin>>s_1>>s_2;
boo = false;
len_1 = s_1.length();
len_2 = s_2.length();
if(len_1 > len_2)
{
iter_swap(&s_1,&s_2);
}

min = s_2.length() - s_1.length();
for(i = 0; i < min; ++ i)
{
_m[i] = s_2[i] - '0';
}
j = 0;
for(i = min; i < s_2.length(); ++ i)
{
_m[i] = (s_2[i] - '0') + (s_1[j] - '0');
++ j;
}

int tem = 0;

for(i = s_2.length() - 1; i >= 0; -- i)
{
_m[i] += tem;
tem = _m[i]/2;
_m[i] %= 2;
}
cout<<++time<<" ";
if(tem != 0)
{
cout<<tem;
boo = true;
}
i = 0;
if(tem == 0)
{
while(_m[i] == 0)
{
++ i;
}
}
for(; i < s_2.length(); ++ i)
{

cout<<_m[i];
boo = true;
}
if(!boo)
{
cout<<0;
}
cout<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: