1. 程式人生 > 實用技巧 >2020HDU多校第二場

2020HDU多校第二場

1001.Total Eclipse

1002.Blood Pressure Game

1003.Count on a Tree II Striking Back

1004.Diamond Rush

1005.New Equipments

1006.The Oculus

const int N=2e6+10;
const ll mod=998244353;
int n,m,k;
int a[N],b[N],c[N];
ll f[N];
void solve(){
    scanf("%d",&n);
    for (int i=1;i<=n;i++)scanf("%d",&a[i]);
    scanf("%d",&m);
    for (int i=1;i<=m;i++)scanf("%d",&b[i]);
    scanf("%d",&k);
    for (int i=1;i<=k;i++)scanf("%d",&c[i]);
    ll sa,sb,sc;sa=sb=sc=0;
    for (int i=1;i<=k;i++)if (c[i])sc=(sc+f[i])%mod;
    for (int i=1;i<=n;i++)if (a[i])sa=(sa+f[i])%mod;
    for (int i=1;i<=m;i++)if (b[i])sb=(sb+f[i])%mod;
    sc=(sa*sb%mod-sc+mod)%mod;
    c[k+1]=0;
    for (int i=1;i<=k;i++){
        if (sc==f[i]&&c[i-1]==0&&c[i]==0&&c[i+1]==0){
            printf("%d\n",&i);
            break;
        }
    }
}
int main(){
    int T;
    f[0]=1;f[1]=1;
    for (int i=1;i<N;i++)f[i+1]=(f[i]+f[i-1])%mod;
    cin>>T;
    while (T--){
        solve();
    }
    return 0;
}

1007.

1008.

1009.

1010.

1011.

1012.