这道题一直没想通有没有大神来教我下
样例输入
5
2 3 4 6 8
样例输出
1
这是我的的WA代码
#include <bits/stdc++.h>
using namespace std;
int n, ans, a[1005];
int read()
{
char ch = getchar();
while (ch < '0' || '9' < ch)
ch = getchar();
int sum = ch - '0';
ch = getchar();
while('0' <= ch && ch <= '9')
{
sum = sum * 10 + ch - '0';
ch = getchar();
}
return sum;
}
bool check(int x)
{
bool f = 0;
while (x != 0)
{
for (int i = 1; i <= n; i++)
if (a[i] == x % 10) {f = 1; break;}
if (f == 0) return 0;
x /= 10;
}
return 1;
}
int main()
{
n = read();
for (int i = 1; i <= n; i++)
a[i] = read();
for (int i = 111; i <= 999; i++)
{
for (int j = 11; j <= 99; j++)
{
if (i * j >= 10000 || j / 10 * i >= 1000 || j % 10 * i >= 1000) continue;
if (!check(i)) continue;
if (!check(j)) continue;
if (!check(i * j)) continue;
if (!check(j % 10 * i)) continue;
if (!check(j / 10 * i)) continue;
ans++;
}
}
printf("%d", ans);
return 0;
}