結果
| 問題 | No.939 and or | 
| コンテスト | |
| ユーザー |  lam6er | 
| 提出日時 | 2025-03-26 16:02:04 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 2,175 bytes | 
| コンパイル時間 | 1,990 ms | 
| コンパイル使用メモリ | 193,156 KB | 
| 実行使用メモリ | 7,324 KB | 
| 最終ジャッジ日時 | 2025-03-26 16:02:45 | 
| 合計ジャッジ時間 | 3,319 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 30 | 
コンパイルメッセージ
main.cpp:53:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
   53 | main(){
      | ^~~~
            
            ソースコード
#include<bits/stdc++.h>
using namespace std;
// #pragma GCC optimize(1)
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#define int long long
#define y0 Y0
#define y1 Y1
#define lc (now<<1)
#define rc (now<<1|1)
#define min(a,b) (a<b?a:b)
#define max(a,b) (a>b?a:b)
#define P pair<int,int>
#define mkp make_pair
#define x first
#define y second
#define modd(x) (((x)%mod+mod)%mod)
#define rd read()
#define lowbit(x) ((x)&(-(x)))
#define abs(x) ((x)<0?-(x):(x))
#define submod(x,y) (((x-=y)<0)&&(x+=mod))
#define addmod(x,y) (((x+=y)>=mod)&&(x-=mod))
#define addval(x,y) (x+y>=mod?x+y-mod:x+y)
#define subval(x,y) (x-y<0?x-y+mod:x-y)
mt19937_64 rnd(chrono::steady_clock::now().time_since_epoch().count());
#define fflush() fwrite(obuf,1,O-obuf,stdout),O=obuf
char buf[(1<<21)+10],*p1=buf,*p2=buf,obuf[(1<<21)+10],*O=obuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
#define putchar(x) (O-obuf<(1<<21)?*O++=(x):(fwrite(obuf,1,1<<21,stdout),O=obuf,*O++=(x)))
inline int read(int u=0, char c=getchar(), bool f=false){
    for(;!isdigit(c);c=getchar()) f|=c=='-';
    for(;isdigit(c);c=getchar()) u=(u<<1)+(u<<3)+(c^'0');
    return f?-u:u;
}
inline void read(string &s,char c=getchar()){
    for(;(c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<'0'||c>'9');c=getchar());s.clear();
    for(;(c>='A'&&c<='Z')||(c>='a'&&c<='z')||(c>='0'&&c<='9');c=getchar()) s.push_back(c);
}
inline void wt(int x){
    if(x<0) x=-x,putchar('-');
    if(x>9) wt(x/10);
    putchar((x%10)^'0');
}
inline void wt(string s){for(char c:s) putchar(c);}
inline void wt(int x,char k){wt(x),putchar(k);}
const int inf=~0U>>1,linf=~0ULL>>1,iinf=1e18;
const int mod=998244353,g=3,gi=332748118,seed=19260817;
const int N=1e6+10;
int a,b,x,y;
main(){
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    a=rd,b=rd;bool flag=0;int cnt=1;
    for(int i=31;i>=0;i--){
        if((a>>i&1)&&!(b>>i&1)) cnt=0;
        if(!(a>>i&1)&&(b>>i&1)) cnt*=2-!flag,flag=1;
    }wt(cnt,'\n');
    return fflush(),0;
}
            
            
            
        