Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
using namespace std; int main() { int p, n; cin >> p >> n; queue
q; vector
visited(14, false); for(int i = 0; i < n; i++) { int x; cin >> x; visited[x] = true; } vector
vis(100000, false); q.push(100); q.push(0); vis[100] = true; for(int i = 0; i < 99999; i++) { bool moze = true; int x = i; int cnt = 0; while(x > 0) { int digit = x % 10; if(visited[digit]) { moze = false; break; } cnt++; x /= 10; } if(moze and i != 100) { q.push(i); q.push(cnt); vis[i] = true; } } while(!q.empty()) { int number = q.front(); q.pop(); int dist = q.front(); q.pop(); if(number == p) { cout << min(dist, p - 100) << endl; return 0; } if(number + 1 < 100000 and !vis[number + 1]) { q.push(number + 1); q.push(dist + 1); vis[number + 1] = true; } if(number - 1 >= 0 and !vis[number - 1]) { q.push(number - 1); q.push(dist + 1); vis[number - 1] = true; } } return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)