[关闭]
@994495jj 2017-08-18T02:37:39.000000Z 字数 701 阅读 742

hdu6129

201708


  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define fi first
  4. #define se second
  5. #define pb push_back
  6. #define sz(a) (int)a.size()
  7. #define mp make_pair
  8. #define rep(i, a, b) for(int i=(a); i<(b); i++)
  9. #define de(a) cout<<#a<<"="<<a<<endl;
  10. typedef long long ll;
  11. typedef pair<int, int> pii;
  12. typedef vector<int> vi;
  13. //--------
  14. const int N=200005;
  15. int n,m;
  16. int a[N];
  17. int main() {
  18. int T;scanf("%d",&T);
  19. while(T--) {
  20. scanf("%d%d",&n,&m);
  21. rep(i,1,n+1) scanf("%d",a+i);
  22. for(int i=30;i>=0;--i) {
  23. if(m&(1<<i)) {
  24. rep(j,(1<<i)+1,n+1) {
  25. a[j]=a[j-(1<<i)]^a[j];
  26. }
  27. }
  28. }
  29. rep(i,1,n+1) printf("%d%c",a[i],(i==n)?'\n':' ');
  30. }
  31. return 0;
  32. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注