makrusak

G

Feb 13th, 2013
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <vector>
  6. #include <string>
  7. #include <string.h>
  8. #include <queue>
  9. #include <stack>
  10. #include <deque>
  11. #include <map>
  12. #include <set>
  13. #include <cmath>
  14. #include <sstream>
  15.  
  16. #define pb push_back
  17. #define mp make_pair
  18. #define PI 3.1415926535897932384626433832795
  19. #define ALL(x) x.begin(), x.end()
  20. #define F first
  21. #define S second
  22. #define m0(x) memset(x,0,sizeof(x))
  23. #define m1(x) memset(x,-1,sizeof(x))
  24. #define pw(x) (1ull<<(x))
  25. #define bit(x, i) (((x)>>(i))&1)
  26.  
  27. using namespace std;
  28. typedef long long ll;
  29. typedef unsigned long long ull;
  30. typedef long double ld;
  31. typedef pair<int,int> pii;
  32. const int INF = 2147483647;
  33. const ll LLINF = 9223372036854775807LL;
  34.  
  35. pii ans(int a, int b, int c) {
  36.   pii res;
  37.   int v1 = b^c;
  38.   res.F = a^v1;
  39.   int v2 = v1&a;
  40.   int v3 = b&c;
  41.   res.S = v2|v3;
  42.   return res;
  43. }
  44.  
  45. int main() {
  46.   //freopen("input.txt", "r", stdin);
  47.   freopen("output.txt", "w", stdout);
  48.   for (int mask=0;mask<pw(11);mask++) {
  49.     int was = bit(mask, 10);
  50.     for (int i=9;i>=1;i-=2) {
  51.       pii res = ans(was, bit(mask,i), bit(mask, i-1));    
  52.       cout << res.F << " ";
  53.       was = res.S;
  54.     }
  55.     cout << was << "\n";
  56.   }
  57.   return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment