P1211 [USACO1.3]牛式 Prime Cryptarithm
分析:大暴力,还说啥呢...标记输入的数字,一个个算出来,判断是否有标记到
#include<bits/stdc++.h>
using namespace std;
int n,cnt;
bool flag[10];
bool check(int x)
{
while(x)
{
if(!flag[x%10])return 0;
x/=10;
}
return 1;
}
int main()
{
ios::sync_with_stdio(false);
memset(flag,false,sizeof(flag));
cin>>n;
for(int i=1; i<=n; i++)
{
int a;
cin>>a;
flag[a]=true;//素质三连
}
for(int i=100;i<=999;i++)
for(int j=10;j<=99;j++)
{
int a1=(j%10)*i,a2=(j/10)*i;
int a3=a1+a2*10;
if(check(a1)&&check(a2)&&check(a3)&&check(i)&&check(j)&&a1>=100&&a1<=999&&a2>=100&&a2<=999&&a3>=1000&&a3<=9999)cnt++;
}
cout<<cnt;
return 0;
}