This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
#include <set>
#include <map>
#include <cstring>
#include <string>
#include <cmath>
#include <cassert>
#include <ctime>
#include <algorithm>
#include <sstream>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <cstdlib>
#include <cstdio>
#include <iterator>
#include <functional>
#include <unordered_set>
#include <unordered_map>
#include <stdio.h>
#include <bitset>
#include <cstdint>
#include <cassert>
#include <functional>
#include <complex>
#include <climits>
#include <random>
using namespace std;
#define ll long long
#define pb push_back
#define ull unsigned long long
#define F first
#define S second
#define all(v) v.begin(), v.end()
vector<int> g[105];
bool used[105];
int t = -1, n, m;
int ans = INT_MAX;
void rec(vector<int>& vt, int pred, int v, ll p){
if(t == v){
//ans = min(ans, cur);
int sz = vt.size();
ans = min(ans, sz);
return;
}
vt.pb(v);
if(v + p < n){
if(v + p != pred) rec(vt, v, v + p, p);
}
if(v - p >= 0){
if(v - p != pred) rec(vt, v, v - p, p);
}
for(auto s : g[v]){
if(v + s < n){
if(v + s != pred) rec(vt, v, v + s, s);
}
if(v - s >= 0){
if(v - s != pred) rec(vt, v, v - s, s);
}
}
vt.pop_back();
}
void solve(){
cin >> n >> m;
pair<int, int> s = {-1, -1};
for(int i = 1; i <= m; i++){
int x, y;
cin >> x >> y;
if(s.F == -1) s = {x, y};
else if(s.F != -1 && t == -1) t = x;
else g[x].pb(y);
}
vector<int> vt;
rec(vt, -1, s.F, s.S);
cout << ans;
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL), cout.tie(NULL);
int xach = 1;
//cin >> xach;
while(xach--) solve();
}
/*
*
*/
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |