Submission #1176565

#TimeUsernameProblemLanguageResultExecution timeMemory
1176565coco2311아름다운 순열 (IZhO12_beauty)C++17
0 / 100
147 ms436 KiB
#include <iostream> #include <vector> using namespace std; #define int long long #define f first #define s second #define pii pair<long long,long long> pii arr[10]; vector<int> adj[10]; bool vis[10]; int cnt; void dfs(int n,int e){ if(vis[n])return; if(e==1){ cnt++; return; } vis[n]=true; for(int i: adj[n]){ dfs(i,e-1); } vis[n]=false; } signed main(){ ios::sync_with_stdio(false);cin.tie();cout.tie(); // freopen("input.in","r",stdin); int N;cin>>N; int nb,u,r; for(int i=0;i<N;i++){ cin>>nb; u=nb; arr[i].f=0; while(u!=0){ r=u%2; if(r==1){ arr[i].f++; } u-=r; u/=2; } u=nb; arr[i].s=0; while(u!=0){ r=u%3; if(r==1){ arr[i].s++; } u-=r; u/=3; } } for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ if(j==i)continue; if(arr[i].f==arr[j].f || /*arr[i].f==arr[j].s || arr[i].s==arr[j].f ||*/ arr[i].s==arr[j].s){ adj[i].push_back(j); } } } cnt=0; for(int i=0;i<N;i++){ vis[i]=false; } for(int i=0;i<N;i++){ dfs(i,N); } cout<<cnt; }
#Verdict Execution timeMemoryGrader output
Fetching results...