結果

問題 No.3172 三角関数べき乗のフーリエ級数展開
ユーザー robin dey
提出日時 2025-06-07 04:25:56
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 2,353 bytes
コンパイル時間 2,303 ms
コンパイル使用メモリ 206,112 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-06-07 04:26:00
合計ジャッジ時間 3,486 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 4 WA * 11
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;
#define vi vector<ll>
#define vii vector<pair<ll, ll>>
#define ii pair<ll, ll>
#define vll vector<long long int>
using ll = long long int;
#define pb push_back
#define ss second
#define ff first
#define fl(i, n) for (ll i = 0; i < n; i++)
#define fl1(i, n) for (ll i = 1; i < n; i++)
#define flc(a, b) for (ll i = a; i <= b; i++)
#define flr(a, b) for (ll i = a; i >= b; i--)
#define nl "\n"
#define br cout << "\n";
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define mod 998244353
#define inf 1e15

void print(vector<ll> &v)
{
    for (auto x : v)
        cout << x << " ";
    cout << endl;
}

double dist[20][20];
map<ll, double> dp;

double f(ll n,ll mask,ll i) {

    if(mask == (1 << (2 * n)) - 1) {
        //cout << "mask: " << mask << " i: " << i << nl;
        return 0.0;
    }

    if(dp[mask] != 0) return dp[mask];

    double ans = inf;

    // mask = mask | (1<<i);

    for(ll j = 0 ; j<= 2*n ; j++){
        if( (mask & (1<<j)) == 0 && (i != j)) {
            //cout << i<< " " << j << " "  << nl;
            ll new_mask = mask | (1<<j) | (1<<i);
            for(ll k = 0 ; k <= 2*n ; k++){
                if( (new_mask & (1<<k)) == 0) {
                    //cout << i<< " " << j << " " << k << " " << new_mask << nl;
                    ans = min(ans, dist[i][j] + f(n,new_mask,k));
                }
            }
        }
    }

    return dp[mask] = ans;
}

void f(ll l, ll r, vector<pair<ll, ll>> &cls) {
    fl(i,3) cout << cls[l].second << " " << cls[r].second << " ";
    br
    if(l == r) return;
    fl(i,3) cout << cls[r].second << " " << cls[l].second << " ";
    br
}

void erase (set<ll> &st){
    st.erase(st.begin());
}


void solve(){
    ll n ; cin >> n; 
    ll t = n+1,nn = n-1;

    ll a = n, b = 1;
    vi v; v.pb(2);
    while(nn>0){
        v.pb((v.back()*a)/b);
        a--,b++;
        nn-=2;
    }
    // v.pop()
    if(!(n&1)) v[v.size()-1] = v.back()/2;

    reverse(all(v));
    //print(v);

    if(n&1) cout <<0 <<" ";
    for(ll i = 0 ; i<v.size()-1 ; i++ ){
        cout << v[i] << " 0 ";
    }
    cout << v.back()<<nl;
    

    
}

int main() {
    // ios_base::sync_with_stdio(false);
    // cin.tie(nullptr);

    int t=1;
    // cin >> t;
    for (int i = 0; i < t; i++) {
        solve();
    }
    
    return 0;
}
0