提出 #1103949


ソースコード 拡げる

// think twice code once
// Start:[]
// End  :[]
/*{{{*/
#include <bits/stdc++.h>
using namespace std;

#define rep(i, x, y) for(int i = (x), _ = (y); i <= _; ++ i)
#define per(i, x, y) for(int i = (x), _ = (y); i >= _; -- i)
#define dprintf(...) fprintf(stderr, __VA_ARGS__)
#define disp(x) cout << #x << " = " << x << "; "
#ifdef __linux__
#define getchar getchar_unlocked
#define LLFORMAT "%lld"
#else
#define LLFORMAT "%I64d"
#endif

typedef long long LL;

template <class T> bool chkmin(T& a, T b) { return a > b ? a = b, true : false; }
template <class T> bool chkmax(T& a, T b) { return a < b ? a = b, true : false; }

template <class T> void read(T& a) {
	char c = getchar(); T f = 1; a = 0;
	for(; !isdigit(c); c = getchar()) if(c == '-') f = -1;
	for(; isdigit(c); c = getchar()) a = a * 10 + c - '0';
	a *= f;
}
/*}}}*/

const int maxN = 1050;

struct Edge
{
	int v, next;
}G[maxN];

int st[maxN], e;
int N, M;
int ans;
bool vis[maxN];

void addedge(int u, int v)
{
	G[++e] = (Edge) {v, st[u]};
	st[u] = e;
}

void dfs(int u, int cnt)
{
	if(cnt == N)
	{
		++ ans;
		return;
	}

	for(int e = st[u]; e; e = G[e].next)
	{
		int v = G[e].v;
		if(vis[v])
			continue;
		vis[v] = 1;
		dfs(v, cnt + 1);
		vis[v] = 0;
	}
}

int main()
{
#ifdef Leeson
	freopen("tmp.in", "r", stdin);
	freopen("tmp.out", "w", stdout);
#endif

	read(N); read(M);
	rep(i, 1, M)
	{
		int u, v;
		read(u); read(v);
		addedge(u, v);
		addedge(v, u);
	}

	vis[1] = 1;
	dfs(1, 1);
	cout << ans << endl;

	return 0;
}

提出情報

提出日時
問題 C - One-stroke Path
ユーザ leeson
言語 C++14 (GCC 5.4.1)
得点 300
コード長 1585 Byte
結果 AC
実行時間 1 ms
メモリ 256 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 2
AC × 15
セット名 テストケース
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 1 ms 256 KiB
sample_02.txt AC 1 ms 256 KiB
subtask_1_01.txt AC 1 ms 256 KiB
subtask_1_02.txt AC 1 ms 256 KiB
subtask_1_03.txt AC 1 ms 256 KiB
subtask_1_04.txt AC 1 ms 256 KiB
subtask_1_05.txt AC 1 ms 256 KiB
subtask_1_06.txt AC 1 ms 256 KiB
subtask_1_07.txt AC 1 ms 256 KiB
subtask_1_08.txt AC 1 ms 256 KiB
subtask_1_09.txt AC 1 ms 256 KiB
subtask_1_10.txt AC 1 ms 256 KiB
subtask_1_11.txt AC 1 ms 256 KiB
subtask_1_12.txt AC 1 ms 256 KiB
subtask_1_13.txt AC 1 ms 256 KiB