牛式 Prime Cryptarithm

时间:2022-07-25
本文章向大家介绍牛式 Prime Cryptarithm,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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;
}