http://acm.hdu.edu.cn/showproblem.php?pid=6425
分0拍0球 0拍多球 1拍0球 1拍多球 4种情况加起来即可
#include<bits/stdc++.h>
#define mod 998244353
using namespace std;
long long qpow(long long x,long long cs)
{
long long ans=1;
while(cs)
{
if(cs&1)
ans=ans*x%mod;
x=x*x%mod;
cs>>=1;
}
return ans;
}
int main(){
int t;
cin>>t;
while(t--)
{
long long a,b,c,d;
cin>>a>>b>>c>>d;
long long a1,a2,a3,a4;
a1=qpow(2,a)*(qpow(2,b)-1+mod)%mod;
a2=qpow(2,a)*(qpow(2,c)-1+mod)%mod;
a3=b*(qpow(2,c)-1+mod)%mod*qpow(2,a)%mod+d*qpow(2,a+c)%mod;
a4=qpow(2,a)%mod;
long long ans=(a1+a2)%mod;
ans=(ans+a3)%mod;
ans=(ans+a4)%mod;
cout<<ans<<endl;
}
return 0;
}