Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _USE_MATH_DEFINES
- #include<stdio.h>
- #include<iostream>
- #include<vector>
- #include<cmath>
- #include<algorithm>
- #include<map>
- #include<set>
- #include<sstream>
- #include<cstring>
- #include<numeric>
- #include<limits.h>
- #include<time.h>
- using namespace std;
- set<int> to;
- void found(vector<char> cur) {
- to.erase(cur[cur.size() - 1]);
- for (int i = cur.size() - 4; i < cur.size(); i++) {
- for (int len = 1; len <= cur.size() - i; len++) {
- int toDel = 0;
- for (int j = 0; j < len; j++) {
- toDel *= 10;
- toDel += cur[i + j];
- }
- to.erase(toDel);
- }
- }
- }
- int res = LONG_MAX;
- void solve() {
- for (int i = 0; i <= 9999; i++) {
- to.insert(i);
- }
- srand(time(0));
- vector<char> cur;
- for (int i = 0; i < 4; i++) {
- cur.push_back(rand() % 10);
- to.erase(cur[i]);
- }
- found(cur);
- while (to.size() != 0) {
- cur.push_back(rand() % 10);
- found(cur);
- }
- if (cur.size() < res) {
- res = cur.size();
- for (int i = 0; i < res; i++) {
- printf("%c", cur[i]);
- }
- printf("\n\n");
- }
- }
- int main() {
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- #endif
- freopen("output.txt", "w", stdout);
- while (true) {
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement