Advertisement
wojiaocbj

Untitled

May 25th, 2023
620
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <math.h>
  6. #include <ctype.h>
  7. #pragma warning(disable:4996 6031)
  8. typedef struct _pt{
  9.     double x, y;
  10. }pt;
  11. double distance(pt A, pt B){
  12.     return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
  13. }
  14. unsigned long long cbjabs(long long a){  
  15.     if(a < 0){
  16.         char x[64] = { 0 };
  17.         unsigned long long t;
  18.         sprintf(x, "%lld", a);
  19.         sscanf(x + 1, "%llu", &t);
  20.         return t;
  21.     }
  22.     else{
  23.         return a;
  24.     }
  25.    
  26. }
  27. int main(){
  28. #ifdef _DEBUG
  29.     freopen("../../input.txt", "r", stdin);
  30. #endif // _DEBUG
  31.     long long a, b;
  32.     unsigned long long a0, b0;
  33.     char s1 = 0, s2 = 0;
  34.     scanf("%lld%lld", &a, &b);
  35.     if(a < 0){
  36.         s1 = 1;
  37.         a0 = cbjabs(a);
  38.     }
  39.     else{
  40.         a0 = a;
  41.     }
  42.     if(b < 0){
  43.         s2 = 1;
  44.         b0 = cbjabs(b);
  45.     }
  46.     else{
  47.         b0 = b;
  48.     }
  49.     if(s1 == 1 && s2 == 1){
  50.         //负 负
  51.         if((a0 + b0 > 9223372036854775808ull) || ((a0 == 9223372036854775808ull) && b0 == (9223372036854775808ull))){
  52.             puts("NO!");
  53.         }
  54.         else{
  55.             printf("%lld\n", a + b);
  56.         }
  57.     }
  58.     else if(s1 == 0 && s2 == 1){
  59.         //正 负
  60.         printf("%lld\n", a + b);
  61.     }
  62.     else if(s1 == 1 && s2 == 0){
  63.         //负 正
  64.         printf("%lld\n", a + b);
  65.     }
  66.     else{
  67.         //正 正
  68.         if(a0 + b0 > 9223372036854775807ull){
  69.             puts("PO!");
  70.         }
  71.         else{
  72.             printf("%lld\n", a + b);
  73.         }
  74.     }
  75.  
  76. #ifdef _DEBUG
  77.     freopen("CON", "r", stdin);
  78.     system("pause");
  79. #endif // _DEBUG
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement