답안 #105941

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
105941 2019-04-15T19:42:32 Z brcode Paths (BOI18_paths) C++14
100 / 100
1329 ms 189860 KB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const long long MAXN = 3e5+5;
long long col[MAXN];
vector<long long> v1[MAXN];
long long dp[MAXN][70];
int main(){
    long long n,m,k;
    cin>>n>>m>>k;
    for(long long i=1;i<=n;i++){
        cin>>col[i];
    }
    for(long long i=1;i<=m;i++){
        long long x,y;
        cin>>x>>y;
        v1[x].push_back(y);
        v1[y].push_back(x);
        
    }
    for(long long i=1;i<=n;i++){
        dp[i][(1<<col[i])] = 1;
    }
    for(long long i=1;i<=(1<<(k+1));i++){
        for(long long j=1;j<=n;j++){
            if((1<<col[j])&i){
                
                for(long long x:v1[j]){
                    if((1<<col[x])&i){
                     //   cout<<j<<" "<<x<<" "<<i-(1<<col[j])<<" "<<dp[k][i-(1<<col[j])]<<endl;
                        dp[j][i] += dp[x][i-(1<<col[j])];
                    }
                }
            }
        }
    }
    long long ans = 0;
    for(long long i=1;i<=n;i++){
        for(long long j=1;j<=(1<<(k+1));j++){
           // cout<<i<<" "<<j<<" "<<dp[i][j]<<endl;
            ans+=dp[i][j];
        }
    }
    cout<<ans-n<<endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 8 ms 7400 KB Output is correct
3 Correct 8 ms 7424 KB Output is correct
4 Correct 9 ms 7424 KB Output is correct
5 Correct 9 ms 7500 KB Output is correct
6 Correct 8 ms 7424 KB Output is correct
7 Correct 9 ms 7424 KB Output is correct
8 Correct 8 ms 7424 KB Output is correct
9 Correct 8 ms 7424 KB Output is correct
10 Correct 8 ms 7424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 242 ms 20088 KB Output is correct
2 Correct 171 ms 17020 KB Output is correct
3 Correct 936 ms 189396 KB Output is correct
4 Correct 312 ms 35584 KB Output is correct
5 Correct 316 ms 35576 KB Output is correct
6 Correct 623 ms 131552 KB Output is correct
7 Correct 995 ms 189292 KB Output is correct
8 Correct 987 ms 189860 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 8 ms 7400 KB Output is correct
3 Correct 8 ms 7424 KB Output is correct
4 Correct 9 ms 7424 KB Output is correct
5 Correct 9 ms 7500 KB Output is correct
6 Correct 8 ms 7424 KB Output is correct
7 Correct 9 ms 7424 KB Output is correct
8 Correct 8 ms 7424 KB Output is correct
9 Correct 8 ms 7424 KB Output is correct
10 Correct 8 ms 7424 KB Output is correct
11 Correct 242 ms 20088 KB Output is correct
12 Correct 171 ms 17020 KB Output is correct
13 Correct 936 ms 189396 KB Output is correct
14 Correct 312 ms 35584 KB Output is correct
15 Correct 316 ms 35576 KB Output is correct
16 Correct 623 ms 131552 KB Output is correct
17 Correct 995 ms 189292 KB Output is correct
18 Correct 987 ms 189860 KB Output is correct
19 Correct 260 ms 20372 KB Output is correct
20 Correct 178 ms 17084 KB Output is correct
21 Correct 936 ms 189072 KB Output is correct
22 Correct 341 ms 35576 KB Output is correct
23 Correct 310 ms 35576 KB Output is correct
24 Correct 646 ms 131680 KB Output is correct
25 Correct 858 ms 189152 KB Output is correct
26 Correct 928 ms 189816 KB Output is correct
27 Correct 198 ms 17016 KB Output is correct
28 Correct 307 ms 23196 KB Output is correct
29 Correct 1329 ms 189272 KB Output is correct
30 Correct 850 ms 103712 KB Output is correct
31 Correct 910 ms 103840 KB Output is correct
32 Correct 1230 ms 189304 KB Output is correct
33 Correct 8 ms 7424 KB Output is correct
34 Correct 10 ms 7424 KB Output is correct
35 Correct 8 ms 7424 KB Output is correct
36 Correct 9 ms 7424 KB Output is correct
37 Correct 8 ms 7424 KB Output is correct
38 Correct 8 ms 7424 KB Output is correct
39 Correct 8 ms 7424 KB Output is correct
40 Correct 8 ms 7424 KB Output is correct
41 Correct 9 ms 7424 KB Output is correct
42 Correct 8 ms 7424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 7424 KB Output is correct
2 Correct 95 ms 10544 KB Output is correct
3 Correct 68 ms 10544 KB Output is correct
4 Correct 269 ms 67768 KB Output is correct
5 Correct 194 ms 68328 KB Output is correct
6 Correct 436 ms 67832 KB Output is correct
7 Correct 68 ms 10488 KB Output is correct
8 Correct 354 ms 67960 KB Output is correct
9 Correct 268 ms 68332 KB Output is correct
10 Correct 288 ms 68116 KB Output is correct
11 Correct 303 ms 39000 KB Output is correct
12 Correct 590 ms 53528 KB Output is correct
13 Correct 299 ms 39240 KB Output is correct
14 Correct 551 ms 67832 KB Output is correct
15 Correct 516 ms 68088 KB Output is correct
16 Correct 10 ms 7424 KB Output is correct
17 Correct 8 ms 7424 KB Output is correct
18 Correct 9 ms 7424 KB Output is correct
19 Correct 8 ms 7424 KB Output is correct
20 Correct 10 ms 7424 KB Output is correct
21 Correct 9 ms 7424 KB Output is correct
22 Correct 8 ms 7424 KB Output is correct
23 Correct 8 ms 7424 KB Output is correct
24 Correct 10 ms 7424 KB Output is correct
25 Correct 9 ms 7424 KB Output is correct