hdu5344MZL's xor

来源:互联网 发布:淘宝人脸认证为何失败 编辑:程序博客网 时间:2024/06/06 08:18
//给一个数组A,问这个数组的所有(Ai+Aj)的异或值//由于对于每一个(Ai+Aj)^(Aj+Ai) == 0//所以答案是2*(a1^a2^a3...)#include<cstdio>#include<cstring>#include<iostream>using namespace std ;typedef __int64 ll ;int main(){    ll n , m , l , z ;    int t ;    scanf("%d" , &t) ;    while(t--)    {        scanf("%I64d%I64d%I64d%I64d" , &n , &m , &z, &l) ;        ll ans = 0 ;        ll pre = 0 ;        ll now ;        for(int i = 2;i <= n;i++)        {           now = (pre*m + z)%l ;           ans = ans^(2*now) ;           pre = now ;        }       printf("%I64d\n" , ans) ;    }}
0 0
原创粉丝点击