HDU 5344 多校赛1002 MZL's xor

来源:互联网 发布:nuts二战知乎 编辑:程序博客网 时间:2024/05/02 00:48

Problem Description
MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to know the xor of all (Ai+Aj)(1i,jn)The xor of an array B is defined as B1 xor B2...xor Bn
Input
Multiple test cases, the first line contains an integer T(no more than 20), indicating the number of cases.Each test case contains four integers:n,m,z,lA1=0,Ai=(Ai1m+z) mod l1m,z,l5105,n=5105
Output
For every test.print the answer.
Sample Input
23 5 5 76 8 8 9
Sample Output
1416

#include <iostream>using namespace std;long long a[500001];int main(){    int T;    long long n,m,z,l;    while(cin>>T)    {        while(T--)        {            cin>>n>>m>>z>>l;            a[1] = 0;            for(int i=2;i<=n;i++)            {                a[i] = (a[i-1] * m + z) % l;            }            int sum = a[1];            for(int i=2;i<=n;i++)            {                sum ^= a[i]*2;            }            cout<<sum<<endl;        }    }    return 0;}



0 0
原创粉丝点击