提出 #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 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |