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
AC × 1
AC × 15
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