每日一九度之 题目1089:数字反转
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:3452
解决:1892
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
</dd> </dl> <dl> <dt> 输入: </dt> <dd> 第一行一个正整数表示测试数据的个数n。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
如果满足题目的要求输出a+b的值,否则输出NO。
</dd> </dl> <dl> <dt> 样例输入: </dt> <dd>2 12 34 99 1</dd> </dl> <dl> <dt> 样例输出: </dt> <dd>
46 NO</dd> </dl>
//Asimple #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <vector> #include <cctype> #include <cstdlib> #include <stack> #include <cmath> #include <set> #include <map> #include <string> #include <queue> #include <limits.h> #define INF 0x7fffffff #define mod 1000000000 using namespace std; const int maxn = 10001; typedef long long ll; int n, x, y; int reverse(int n){//获取反转 int sum = 0; while( n ){ sum *= 10; sum += n%10; n /= 10; } return sum; } int main(){ cin >> n; while( n -- ){ cin >> x >> y; if( reverse(x)+reverse(y) == reverse(x+y)){ cout << x+y << endl; } else { cout << "NO" << endl; } } return 0; }