結果
問題 | No.95 Alice and Graph |
ユーザー | omochana1 |
提出日時 | 2014-12-13 23:47:39 |
言語 | C++11 (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,422 bytes |
コンパイル時間 | 798 ms |
コンパイル使用メモリ | 90,192 KB |
実行使用メモリ | 14,572 KB |
最終ジャッジ日時 | 2024-06-11 21:06:58 |
合計ジャッジ時間 | 13,208 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 |
ソースコード
#include <iostream>#include <cmath>#include <cstdio>#include <algorithm>#include <string>#include <vector>#include <queue>#include <string.h>#include <map>#include <fstream>#include <functional>#include <bitset>#include <iomanip>#include <stack>#include <set>#include <climits>#define MAX_N 200010#define PI 3.141592653589#define ESP 1e-20#define BS 10#define MOD 1000000007#define ZERO 10001#define YJSNPI 810#define INF (1LL << 50)#define ADD(a, b) a = (a + (ll)b) % MOD#define MUL(a, b) a = (a * (ll)b) % MOD#define MAX(a, b) a = max(a, b)#define MIN(a, b) a = min(a, b)using namespace std;typedef pair<int, int> pi;typedef long long ll;int N, M, K;vector<int> E[MAX_N];//bool used[MAX_N];bool loop(int at, ll goal, int life) {if(goal & (1LL << at)) goal ^= (1LL << at);if(goal == 0) return true;if(life <= 0) return false;bool res = false;for(int i = 0; i < E[at].size(); i++) {res = max(res, loop(E[at][i], goal, life - 1));}return res;}int main() {cin >> N >> M >> K;for(int i = 0; i < M; i++) {int from, to;cin >> from >> to; from--; to--;E[from].push_back(to);E[to].push_back(from);}ll ans = 0;for(int i = N - 1; i >= 0; i--) {ans |= (1LL << i);if(!loop(0, ans, K)) {ans ^= (1LL << i);}}ll res = 0;cout << ans - __builtin_popcountll(ans) << endl;}