0pts。
  • 板块学术版
  • 楼主Jerrlee✅
  • 当前回复20
  • 已保存回复20
  • 发布时间2023/1/19 17:30
  • 上次更新2023/10/24 03:35:59
查看原帖
0pts。
367652
Jerrlee✅楼主2023/1/19 17:30

A 题 00pts。

不知道代码哪里出了问题。

#include<bits/stdc++.h>
using namespace std;
#define mod 998244353
long long fxy[114514],fab[114514];
signed main(){
    int t;
    cin>>t;
    while(t--){
        long long n,a,b,x,y;
        cin>>n>>a>>b>>x>>y;
        fxy[1]=x,fxy[2]=y,fab[1]=a,fab[2]=b;
        if(n==1){cout<<(x-a+mod)%mod<<endl;continue;}
        if(n==2){cout<<((x-a)*(y-b)+mod)%mod<<endl;continue;}
        long long ans=(x-a)*(y-b);
        ans=(ans+mod)%mod;
        for(long long i=3;i<=n;i++){
            long double tmp=sqrtl(fxy[i-2]*fxy[i-1]);
            fxy[i]=((long long)(tmp)+1+mod)%mod;
            tmp=sqrtl(fab[i-2]*fab[i-1]);
            fab[i]=((long long)(tmp)+1+mod)%mod;
            ans*=(fxy[i]-fab[i]);
            ans+=(ans/(-mod))*mod;
            ans=(ans+mod)%mod;
            if(ans<0) cout<<"WTF\n";
        }
        cout<<(ans+mod)%mod<<endl;
    }
}
2023/1/19 17:30
加载中...