Submission #1770687


Source Code Expand

#include <iostream>
#include <vector>
using namespace std;

int N, M;
vector<vector<int>> roads;
vector<bool> came;

int move(int now, int moved){
	if(moved == N - 1){
		return 1;
	}else{
		int ans = 0;
		came[now] = true;
		for(int i = 0; i < roads[now].size(); i++){
			if(!came[roads[now][i]]){
				ans += move(roads[now][i], moved + 1);
			}
		}
		came[now] = false;
		return ans;
	}
}
 
int main(){
	cin >> N >> M;
	for(int i = 0; i < N; i++){
		roads.push_back({});
		came.push_back(false);
	}
	for(int i = 0; i < M; i++){
		int start, goal;
		cin >> start >> goal;
		roads[start - 1].push_back(goal - 1);
		roads[goal - 1].push_back(start - 1);
	}
	cout << move(0, 0) << endl;
}

Submission Info

Submission Time
Task C - One-stroke Path
User June_boy
Language C++14 (GCC 5.4.1)
Score 300
Code Size 722 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 15
Set Name Test Cases
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
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 1 ms 256 KB
subtask_1_04.txt AC 2 ms 256 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 1 ms 256 KB
subtask_1_08.txt AC 1 ms 256 KB
subtask_1_09.txt AC 1 ms 256 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 2 ms 256 KB