View Code of Problem 3594

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[110000];
int cal(int q)
{
	int num[10];
	memset(num, 0, sizeof(num));
	while (q != 0)
	{
		int c = q % 10;
		num[c]++;
		if (num[c] > 1)
		{
			return 0;
		}
		q = q / 10;
	}
	return 1;
}
int main()
{
	memset(a, 0, sizeof(a));
	for (int i = 1; i <= 100000; i++)
		a[i] = a[i - 1] + cal(i);
	int n;
	scanf("%d", &n);
	while (n--)
	{
		int c, b;
		scanf("%d %d", &c, &b);
		
		printf("%d\n",a[b]-a[c-1] );
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3594