結果

問題 No.941 商とあまり
ユーザー Pachicobue
提出日時 2019-12-04 22:09:07
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,330 bytes
コンパイル時間 913 ms
コンパイル使用メモリ 67,712 KB
最終ジャッジ日時 2025-01-08 08:21:22
ジャッジサーバーID
(参考情報)
judge4 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 6
other WA * 68 RE * 28 TLE * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>

int d[11];
unsigned long long dp[1 << 10][1 << 10][11];

int main()
{
    std::cin.tie(0);
    std::ios::sync_with_stdio(false);
    int K, i, j, k, l, r,tm, ad;
    std::cin >> K;
    for(i = 0; i < K; ++i){
        std::cin >> d[i];
    }
    d[K++] = 11;
    dp[(1 << K) - 1][(1 << K) - 1][0] = 1;
    for(i = 2*K; i >= 1; --i){
        for(j = 0; j < (1 << K); ++j){
            for(k = 0; k < (1 << K); ++k){
                if(i & 1){
                    for(l = 0; l < K; ++l){
                        if(k >> l & 1){
                            tm = (l == K - 1) ? 100 : 10, ad = d[l];
                            for(r = 0; r < 11; ++r){
                                dp[j][k ^ (1 << l)][(r * tm + ad) % 11] += dp[j][k][r];
                            }
                        }
                    }
                }else{
                    for(l = 0; l < K; ++l){
                        if(j >> l & 1){
                            tm = (l == K - 1) ? 100 : 10, ad = d[l];
                            for(r = 0; r < 11; ++r){
                                dp[j ^ (1 << l)][k][(r * tm + ad) % 11] += dp[j][k][r];
                            }
                        }
                    }
                }
            }
        }
    }
    std::cout << dp[0][0][0] << "\n";
    return 0;
}
0