結果
| 問題 |
No.1756 Rider's Triangle
|
| コンテスト | |
| ユーザー |
monnu
|
| 提出日時 | 2021-11-20 17:00:02 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 713 bytes |
| コンパイル時間 | 3,884 ms |
| コンパイル使用メモリ | 228,136 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-11 19:07:07 |
| 合計ジャッジ時間 | 4,402 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 25 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll=long long;
using Graph=vector<vector<int>>;
#define INF 1000000000000000000
#define MOD 998244353
#define MAX 1000000
ll gcd(ll a,ll b){
while(a%b!=0){
ll tmp=a%b;
a=b;
b=tmp;
}
return b;
}
int main(){
ll a,b,N;
cin>>a>>b>>N;
if(a==b||a==0||b==0){
cout<<0<<'\n';
return 0;
}
ll x1=a;
ll y1=b;
ll x2,y2;
//(b*i-a*j)/(a*i+b*j)=a/b
//b*(b*i-a*j)=a*(a*i+b*j)
//(b*b-a*a)*i=2*a*b*j
ll i=2*a*b;
ll j=b*b-a*a;
ll g=gcd(i,j);
i/=g;
j/=g;
ll X=a*i+b*j;
ll Y=b*i;
ll ans=(max<ll>(0,N-X)%MOD)*(max<ll>(0,N-Y)%MOD)%MOD;
ans=8*ans%MOD;
cout<<ans<<'\n';
}
monnu