Submission #759327

#TimeUsernameProblemLanguageResultExecution timeMemory
759327UnforgettableplBeautiful row (IZhO12_beauty)C++17
0 / 100
170 ms300 KiB
/*
ID: samikgo1
TASK:
LANG: C++
*/
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
typedef pair<ll,ll> pll;
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define f first
#define s second
//#define x first
//#define y second
const int INF = INT32_MAX;
const ll modulo = 1e4;
//#define int ll

int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
//    freopen("input.in","r",stdin);
//    freopen("haybales.out","w",stdout);
    ll n;
    cin >> n;
    vector<ll> arr(n);
    for(ll&i:arr)cin>>i;
    sort(all(arr));
    ll ans = 0;
    auto same = [](ll a, ll b){
        if(bitset<32>(a).count()==bitset<32>(b).count())return true;
        ll onesa = 0;
        ll onesb = 0;
        while(a or b){
            if(a%3==1)onesa++;
            if(b%3==1)onesb++;
            a/=3;b/=3;
        }
        return onesa==onesb;
    };
    do{
        for (int i = 1; i < n; i++) {
            if(!same(arr[i],arr[i-1])){
                goto end;
            }
        }
        ans++;
        end:
        continue;
    }while(next_permutation(all(arr)));
    cout << ans;
}

Compilation message (stderr)

beauty.cpp: In function 'int32_t main()':
beauty.cpp:43:27: warning: comparison of integer expressions of different signedness: 'int' and 'll' {aka 'long long unsigned int'} [-Wsign-compare]
   43 |         for (int i = 1; i < n; i++) {
      |                         ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...