大佬帮忙Debug

Ryan123  •  2年前


#include <bits/stdc++.h>
using namespace std;
const int Mod=112357;
int snow[100005][6];
vector<int> H[Mod];
int n;
inline bool Same(int a,int b)
{
  for(int i=0; i<6; i++)
  {
    if((snow[a][0]==snow[b][i] &&
        snow[a][1]==snow[b][(i+1)%6] &&
        snow[a][2]==snow[b][(i+2)%6] &&
        snow[a][3]==snow[b][(i+3)%6] &&
        snow[a][4]==snow[b][(i+4)%6] &&
        snow[a][5]==snow[b][(i+5)%6]) ||
        (snow[a][0]==snow[b][i] &&
         snow[a][1]==snow[b][(i+5)%6] &&
         snow[a][2]==snow[b][(i+4)%6] &&
         snow[a][3]==snow[b][(i+3)%6] &&
         snow[a][4]==snow[b][(i+2)%6] &&
         snow[a][5]==snow[b][(i+1)%6]))
      return true;
  }
  return false;
}
int main()
{
  cin>>n;
  for(int i=0; i<n; i++)
    for(int j=0; j<6; j++)
      cin>>snow[i][j];
  int sum=0,k;
  for(int i=0; i<n; i++)
  {
    sum=0;
    for(int j=0; j<6; j++)
      sum+=snow[i][j];
    k=sum%Mod;
    for(int j=0; j<H[k].size(); j++)
      if(Same(H[k][j],i))
      {
        cout<<"Twin snowflakes found."<<'\n';
        exit(0);
      }
    H[k].push_back(i);
  }
  cout<<"No two snowflakes are alike."<<'\n';
  return 0;
}


评论:

为神马过不了?!


Ryan123  •  2年前