2 条题解

  • 0
    @ 2023-9-20 19:26:30

    另一个思路,本质上没有区别,不判和的大小,就判是否所有位都在低31位。此代码极简。

    #include <bits/stdc++.h>
    using namespace std;
    
    signed main() {
        register long long a, b;
        scanf("%lld %lld", &a, &b);
        register long long c = a + b;
        printf("%s\n", c == c & 0x000000007fffffff ? "IOI AK CodingCow" : "CodingCow AK IOI");
        return 0;
    }
    

    由于编译器特性,可能会出现少许Warning,但没啥关系。

    • 0
      @ 2023-9-20 19:06:55

      思路

      这道题目其实就是判断 a+ba + b 的和是否大于 21474836472147483647 如果大于,输出IOI AK CodingCow,否则输出 CodingCow AK IOI 即可。

      代码

      #include<bits/stdc++.h>
      using namespace std;
       
      int main(){
      long long a, b;
      cin >> a >> b;
      long long c;
      if(a >= 2147483647 || b >= 2147483647){
      cout << "IOI AK CodingCow";
      return 0;
      }
      c = a + b;
      if(c > 2147483647){
      cout << "IOI AK CodingCow";
      }
      else{
      cout << "CodingCow AK IOI";
      }
      return 0;
      }
      
      • 1

      信息

      ID
      94
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      20
      已通过
      11
      上传者