Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Untitled

a guest Dec 6th, 2018 74 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <set>
  4. #include <vector>
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. int i,j,k,l,m,n;
  10.  
  11. typedef set<pair<int, int> > SPII;
  12.  
  13. int mult1[6] = {5,3,1,4,2,6};
  14. int mult2[6] = {4,6,3,2,5,1};
  15. int mult3[6] = {1,2,6,3,4,5};
  16. int pow1[4][6], pow2[4][6], pow3[4][6];
  17.  
  18. vector <int> ans[100];
  19.  
  20. int a[100][6];
  21.  
  22. int cur[6];
  23.  
  24. int main(){
  25.        for (i=0;i<6;i++){
  26.                mult1[i]-;mult2[i]-;mult3[i]--;
  27.        }
  28.  
  29.        for (i=0;i<6;i++){
  30.                pow1[0][i]=i;pow2[0][i]=i;pow3[0][i]=i;
  31.        }
  32.  
  33.        for (i=1;i<4;i++){
  34.                for (j=0;j<6;j++){
  35.                        pow1[i][j] = mult1[pow1[i-1][j]];
  36.                        pow2[i][j] = mult2[pow2[i-1][j]];
  37.                        pow3[i][j] = mult3[pow3[i-1][j]];
  38.                }
  39.        }
  40.  
  41.        scanf("%d",&n);
  42.        int k1=1;
  43.        ans[0].push_back(1);
  44.        
  45.        for (i=0;i<6;i++){
  46.                scanf("%d", &cur[i]);
  47.                a[0][i]=cur[i]-1;
  48.        }
  49.        
  50.        for (i=2;i<=n;i++){
  51.                for (j=0;j<6;j++){
  52.                        scanf("%d", &cur[j]);
  53.                        cur[j]--;
  54.                }
  55.                int d = 0;
  56.                int guess=-1;
  57.                for (int test=0;test<k1;test++){
  58.                        for (int i1=0;i1<4;i1++)
  59.                                for (int i2=0;i2<4;i2++)
  60.                                        for (int i3=0;i3<4;i3++){
  61.                                                int dd = 1;
  62.                                                for (j=0;j<6;j++)
  63.                                                        if(a[test][j]!=cur[pow1[i1][pow2[i2][pow3[i3][j]]]]){
  64.                                                                dd=0;
  65.                                                        }
  66.                                                if (dd) {d=1;guess = test;}
  67.                                        }
  68.                }
  69.                if(d){
  70.                        ans[guess].push_back(i);
  71.                } else
  72.                {
  73.                        ans[k1].push_back(i);
  74.                        for (j=0;j<6;j++)
  75.                                a[k1][j]=cur[j];
  76.                        k1++;
  77.                }
  78.        }
  79.        printf("%d\n",k1);
  80.        for (i=0;i<k1;i++){
  81.                for (j=0;j<ans[i].size();j++){
  82.                        printf("%d ", ans[i][j]);
  83.                }
  84.                printf("\n");
  85.        }
  86.        return 0;
  87. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top