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 (n)
The xor of an array B is defined as n
 

 

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:5
 

 

Output
For every test.print the answer.
 

 

Sample Input
2 3 5 5 7 6 8 8 9
 

 

Sample Output
14 16

 

 



#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
typedef long long ll;
const int maxn = 0x3f3f3f3f;
using namespace std;
ll a[500010];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int n,m,k,l;
        memset(a,0,sizeof(a));
        scanf("%d%d%d%d",&n,&m,&k,&l);
        a[1] = 0;
        for(int i = 2;i <= n;i++)
           a[i] = (a[i-1]*m+k)%l;
        for(int i = 2;i <= n;i++)
           a[i]^=a[i-1];
        printf("%I64d\n",a[n]*2);
    }
    return 0;
}

  

相关文章: