제출 #89292

#제출 시각아이디문제언어결과실행 시간메모리
89292abil아름다운 순열 (IZhO12_beauty)C++14
0 / 100
3067 ms712 KiB
/**
   Solution by Abil
**/
# include <bits/stdc++.h>

////////////////////////

# define fr first
# define sc second
# define pb push_back
# define mk make_pair
# define sz(s) s.size()
# define all(s) s.begin(),s.end()
# define int long long

using namespace std;

const long long N = (1e6 + 10);
const long long mod = (1e9 + 7);

vector<int > v;
int arr[N];
int f(int x){
   int cnt = 0;
   while(x){
    if(x % 3 == 1){
      cnt++;
    }
    x = x / 3;
   }
   return cnt;
}
main()
{
   int n, x;
   cin >> n;
   for(int i = 1;i <= n; i++){
    cin >> arr[i];
    v.pb(i);
   }
   sort(all(v));
   int ans = 0;
   do{
    bool f1 = true;
    for(int i = 0;i < sz(v) - 1; i++){
      if((__builtin_popcount(arr[v[i]])) != (__builtin_popcount(arr[v[i + 1]])) && (f(arr[v[i]]) != f(arr[v[i + 1]]))){
        f1 = false;
        break;
      }
    }
    if(f1){
      ans++;
    }
   }
   while(next_permutation(all(v)));
   cout << ans;
}

컴파일 시 표준 에러 (stderr) 메시지

beauty.cpp:33:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
beauty.cpp: In function 'int main()':
beauty.cpp:45:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i < sz(v) - 1; i++){
                   ~~^~~~~~~~~~~
beauty.cpp:35:11: warning: unused variable 'x' [-Wunused-variable]
    int n, x;
           ^
#Verdict Execution timeMemoryGrader output
Fetching results...