답안 #1112771

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1112771 2024-11-14T19:39:44 Z kojac Paths (BOI18_paths) C++17
53 / 100
820 ms 1048576 KB
#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
const ll LINF = 0x3f3f3f3f3f3f3f3f;
#define MAXN (int)(3e5+10)


ll dp[MAXN][7][70], n, m, k, c[MAXN];
vector<ll> g[MAXN];



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


	cin >> n >> m >> k;

	for(int i = 1; i <= n; i++) cin >> c[i];

	for(int i = 0; i < m; i++){
		ll x, y;

		cin >> x >> y;

		g[x].push_back(y);
		g[y].push_back(x);
	}

	for(int i = 1; i <= n; i++){
		ll aux = (1<<c[i]);
		dp[i][1][aux] = 1;
	}

	for(int i = 2; i <= k; i++){
		for(int j = 1; j <= n; j++){
			for(int bm = 0; bm < (1<<(k+1)); bm++){
				if((bm & (1<<c[j])) == 0) continue;

				ll aux = bm^(1<<c[j]);

				for(auto u : g[j]){
					dp[j][i][bm] += dp[u][i-1][aux];
				}


			}
		}
	}

	ll ans = 0;

	for(int i = 2; i <= k; i++){
		for(int j = 1; j <= n; j++){
			for(int aux = 0; aux < (1<<(k+1)); aux++){
				ans += dp[j][i][aux];
			}
		}
	}

	// cout << dp[1][3][6] << " AQQ\n";

	cout << ans << endl;

}
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 7520 KB Output is correct
2 Correct 6 ms 7772 KB Output is correct
3 Correct 8 ms 7504 KB Output is correct
4 Correct 6 ms 7504 KB Output is correct
5 Correct 5 ms 7504 KB Output is correct
6 Correct 7 ms 7760 KB Output is correct
7 Correct 6 ms 7764 KB Output is correct
8 Correct 6 ms 7760 KB Output is correct
9 Correct 5 ms 7504 KB Output is correct
10 Correct 5 ms 7504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 77 ms 36500 KB Output is correct
2 Correct 52 ms 19788 KB Output is correct
3 Runtime error 820 ms 1048576 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 7520 KB Output is correct
2 Correct 6 ms 7772 KB Output is correct
3 Correct 8 ms 7504 KB Output is correct
4 Correct 6 ms 7504 KB Output is correct
5 Correct 5 ms 7504 KB Output is correct
6 Correct 7 ms 7760 KB Output is correct
7 Correct 6 ms 7764 KB Output is correct
8 Correct 6 ms 7760 KB Output is correct
9 Correct 5 ms 7504 KB Output is correct
10 Correct 5 ms 7504 KB Output is correct
11 Correct 77 ms 36500 KB Output is correct
12 Correct 52 ms 19788 KB Output is correct
13 Runtime error 820 ms 1048576 KB Execution killed with signal 9
14 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 7672 KB Output is correct
2 Correct 52 ms 12140 KB Output is correct
3 Correct 35 ms 12104 KB Output is correct
4 Correct 330 ms 396616 KB Output is correct
5 Correct 312 ms 398664 KB Output is correct
6 Correct 568 ms 396500 KB Output is correct
7 Correct 30 ms 12284 KB Output is correct
8 Correct 397 ms 396616 KB Output is correct
9 Correct 384 ms 398700 KB Output is correct
10 Correct 402 ms 398312 KB Output is correct
11 Correct 315 ms 205340 KB Output is correct
12 Correct 465 ms 299996 KB Output is correct
13 Correct 329 ms 205420 KB Output is correct
14 Correct 538 ms 398092 KB Output is correct
15 Correct 522 ms 398260 KB Output is correct
16 Correct 3 ms 10832 KB Output is correct
17 Correct 3 ms 10832 KB Output is correct
18 Correct 3 ms 10832 KB Output is correct
19 Correct 2 ms 10832 KB Output is correct
20 Correct 3 ms 10832 KB Output is correct
21 Correct 3 ms 10832 KB Output is correct
22 Correct 3 ms 10904 KB Output is correct
23 Correct 3 ms 10728 KB Output is correct
24 Correct 2 ms 10832 KB Output is correct
25 Correct 2 ms 11000 KB Output is correct