Codeforces Round #589 (Div. 2) - A

          Title effect: Given a closed interval, Q has not met in this interval are not equal numbers of each digit of the number, if any, the output of any one of, if not the output 1.

     

#include <bits/stdc++.h>
#include <bitset>
using namespace std;
#define mp(x, y) make_pair(x,y)
#define mset(a, n) memset(a, n, sizeof(a))
#define forn(i, n) for (int i = 0; i < (n); i++)
#define forab(i, a, b) for (int i = (a); i <= (b); i++)
#define forba(i, b, a) for (int i = (b); i >= (a); i--)
#define fast ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
#define INF 0x3f3f3f3f
#define ld long double
#define ll long long
#define ls(x) 2 * (x)
#define rs(x) (2 * (x) + 1)
#define lowbit(x) (x & -(x))
#define endl '\n'
#define fi first
#define se second
 
const int N = 1e5 + 5;
bool vis[10];
 
int main()
{
	fast;
	int l, r;
	cin >> l >> r;
	bool flag = 0;
	for (int x = l; x <= r; ++x)
	{
		mset(vis, 0);
		int cnt = 0, num = 0;
		int t = x;
		while(t)
		{
			int y = t % 10;
			if (!vis[y])
			{
				vis[y] = 1;
				++cnt;
			}
			++num;
			t /= 10;
		}
		if (cnt == num)
		{
			flag = 1;
			cout << x << endl;
			break;
		}
	}
	if (!flag)
		cout << "-1" << endl;
}

  

Guess you like

Origin www.cnblogs.com/zssst/p/11610826.html