9度OJ 1089数字反転

1253 ワード

テーマリンク:http://ac.jobdu.com/problem.php?pid=1089
テーマ分析:
各ビットの数字をキューで保存して出力し、反転値を算出することでデジタル反転を実現します。
ソースコード:
 
#include<iostream>

#include<queue>

using namespace std;



int main()

{

	int n;

	cin>>n;

	int m = 1;

	while (m <= n)	//      

	{

		int a,b;

		cin>>a>>b;

		int sum = 0,temp = 0;

		queue<int> a1,b1,sum1;

		sum = a + b;

		temp = sum;

		while (sum > 0)

		{

			sum1.push(sum % 10);

			sum = sum / 10;

		}

		while (a > 0)	// a        

		{

			a1.push(a % 10);

			a = a / 10;

		}

		while (b > 0)	// b        

		{

			b1.push(b % 10);

			b = b / 10;

		}

		a = 0, b =0, sum = 0;

		for (int k = 0; k < sum1.size(); k++)

		{

			sum = sum * 10 + sum1.front();

			sum1.pop();

		}

		for (int i = 0; i < a1.size(); i++)

		{

			a = a * 10 + a1.front();

			a1.pop();

		}

		for (int j = 0; j < b1.size(); j++)

		{

			b = b * 10 + b1.front();

			b1.pop();

		}

		if (sum == a + b)

		{

			cout<<temp<<endl;;

		}

		else

		{

			cout<<"NO"<<endl;

		}

		m ++;

	}

	return 0;

}