Submission #946542

# Submission time Handle Problem Language Result Execution time Memory
946542 2024-03-14T18:19:41 Z sondos225 Beautiful row (IZhO12_beauty) C++17
0 / 100
3000 ms 432 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define yes "YES"
#define no "NO"
#define bigg INT_MAX
#define debug(x) cout<<(#x)<<" = " <<x<<endl;
#define all(x) x.begin(),x.end()
#define sz size()
#define nn '\n'
#define mms(x,y) memset(x,y,sizeof(x))
#define forr(i,j,n) for (int i=j; i<n; i++)
#define forn(i,j,n) for (int i=j; i>n; i--)
#define fi first
#define se second
#define la "LA"
#define cinn(x,y) for(int i=0; i<y; i++) cin>>x[i];
#define pii pair<int,int>
map<int,int> m2;
map<int,int> m3;
int n;
int dfs(int x, int mask)
{
   if (mask==((1<<n)-1)) return 1;
   int c=0;
   forr(i,0,n)
   {
       if (m2[x]==m2[i] || m3[x]==m3[i]){
       if (!((1<<i)&mask))
       {
           mask|=(1<<i);
           c+=dfs(i,mask);
           mask^=(1<<i);
       }
       }
   }
   return c;
}
signed main()
{
//    #ifndef LOCAL
//    freopen("lifeguards.in","r",stdin);
//    freopen("lifeguards.out","w", stdout);
//    #endif
    fast
   // int n;
    cin>>n;
    int a[n];
    forr(i,0,n)
    {
        cin>>a[i];
        int x=a[i];
        while(x>0)
        {
            if (x%2==1) m2[i]++;
            x/=2;
        }
        x=a[i];
        while(x>0)
        {
            if (x%3==1) m3[i]++;
            x/=3;
        }
    }
    int ans=0;
    forr(i,0,n)
    {
        ans+=dfs(i,(1<<i));
    }
    cout<<ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 13 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 811 ms 432 KB Output is correct
9 Correct 5 ms 344 KB Output is correct
10 Correct 410 ms 428 KB Output is correct
11 Execution timed out 3057 ms 348 KB Time limit exceeded
12 Halted 0 ms 0 KB -