Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- #include <ctype.h>
- #pragma warning(disable:4996 6031)
- typedef struct _pt{
- double x, y;
- }pt;
- double distance(pt A, pt B){
- return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
- }
- unsigned long long cbjabs(long long a){
- if(a < 0){
- char x[64] = { 0 };
- unsigned long long t;
- sprintf(x, "%lld", a);
- sscanf(x + 1, "%llu", &t);
- return t;
- }
- else{
- return a;
- }
- }
- int main(){
- #ifdef _DEBUG
- freopen("../../input.txt", "r", stdin);
- #endif // _DEBUG
- long long a, b;
- unsigned long long a0, b0;
- char s1 = 0, s2 = 0;
- scanf("%lld%lld", &a, &b);
- if(a < 0){
- s1 = 1;
- a0 = cbjabs(a);
- }
- else{
- a0 = a;
- }
- if(b < 0){
- s2 = 1;
- b0 = cbjabs(b);
- }
- else{
- b0 = b;
- }
- if(s1 == 1 && s2 == 1){
- //负 负
- if((a0 + b0 > 9223372036854775808ull) || ((a0 == 9223372036854775808ull) && b0 == (9223372036854775808ull))){
- puts("NO!");
- }
- else{
- printf("%lld\n", a + b);
- }
- }
- else if(s1 == 0 && s2 == 1){
- //正 负
- printf("%lld\n", a + b);
- }
- else if(s1 == 1 && s2 == 0){
- //负 正
- printf("%lld\n", a + b);
- }
- else{
- //正 正
- if(a0 + b0 > 9223372036854775807ull){
- puts("PO!");
- }
- else{
- printf("%lld\n", a + b);
- }
- }
- #ifdef _DEBUG
- freopen("CON", "r", stdin);
- system("pause");
- #endif // _DEBUG
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement