Submission #65624201
Source Code Expand
#include <bits/stdc++.h>
#include<atcoder/all>
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
using namespace atcoder;
#define all(a) a.begin(),a.end()
#define compress(a) sort(all(a));a.erase(unique(all(a)),a.end())
typedef long long ll;
typedef modint998244353 mi;
typedef pair<ll,ll> P;
constexpr ll mod=998244353;
constexpr ll inf=3e18;
mi iii(mi n,mi h){
mi sum_i0=h-2*n+1;
mi sum_i1=sum_i0*(sum_i0+1)/2;
mi sum_i2=sum_i0*(sum_i0+1)*(2*sum_i0+1)/6;
mi sum_i3=sum_i1*sum_i1;
mi c=h-2*n+2;
return (sum_i3-(c+1)*sum_i2+(-c*c+2*c)*sum_i1+c*c*(c-1)*sum_i0)/2;
}
mi ii(mi x){
return x*(x+1)*(x+2)*(x+3)/24;
}
mi bad(mi n,mi h,mi w){
return ii(w-2*n)*ii(h-2*n);
}
mi X(mi n,mi h,mi w){
return iii(n,h)*((w-2*n+2)*(w-2*n+1)/2)*((w-2*n+2)*(w-2*n+1)/2);
}
mi Z(mi n,mi h,mi w){
return iii(n,h)*iii(n,w);
}
void solve(){
ll n,h,w;
cin>>n>>h>>w;
if(h>w)swap(h,w);
if(h<2*n){
cout<<0<<endl;
return;
}
mi ans=X(n,h,w)+X(n,w,h)-Z(n,h,w)-bad(n,h,w);
cout<<ans.val()<<endl;
}
int main(){
int t;
cin>>t;
rep(T,t)solve();
}
Submission Info
Submission Time |
|
Task |
E - Four Square Tiles |
User |
Rho17 |
Language |
C++ 20 (gcc 12.2) |
Score |
800 |
Code Size |
1106 Byte |
Status |
AC |
Exec Time |
740 ms |
Memory |
3708 KiB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
800 / 800 |
Status |
|
|
Set Name |
Test Cases |
Sample |
01_sample_01.txt |
All |
01_sample_01.txt, 02_small_01.txt, 02_small_02.txt, 02_small_03.txt, 02_small_04.txt, 03_rand1_01.txt, 03_rand1_02.txt, 03_rand1_03.txt, 03_rand1_04.txt, 03_rand1_05.txt, 04_rand2_01.txt, 04_rand2_02.txt, 04_rand2_03.txt, 04_rand2_04.txt, 04_rand2_05.txt |
Case Name |
Status |
Exec Time |
Memory |
01_sample_01.txt |
AC |
1 ms |
3572 KiB |
02_small_01.txt |
AC |
264 ms |
3460 KiB |
02_small_02.txt |
AC |
263 ms |
3708 KiB |
02_small_03.txt |
AC |
264 ms |
3704 KiB |
02_small_04.txt |
AC |
263 ms |
3704 KiB |
03_rand1_01.txt |
AC |
351 ms |
3576 KiB |
03_rand1_02.txt |
AC |
351 ms |
3700 KiB |
03_rand1_03.txt |
AC |
351 ms |
3520 KiB |
03_rand1_04.txt |
AC |
351 ms |
3472 KiB |
03_rand1_05.txt |
AC |
352 ms |
3524 KiB |
04_rand2_01.txt |
AC |
735 ms |
3600 KiB |
04_rand2_02.txt |
AC |
740 ms |
3496 KiB |
04_rand2_03.txt |
AC |
734 ms |
3408 KiB |
04_rand2_04.txt |
AC |
733 ms |
3472 KiB |
04_rand2_05.txt |
AC |
737 ms |
3600 KiB |