USACO1.3.4 Prime Cryptarithm 牛式 解题报告(模拟)
生活随笔
收集整理的這篇文章主要介紹了
USACO1.3.4 Prime Cryptarithm 牛式 解题报告(模拟)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
?
下面是一個乘法豎式,如果用我們給定的那n個數字來取代*,可以使式子成立的話,我們就叫這個式子牛式。
* * *x * *-------* * ** * *-------* * * *數字只能取代*,當然第一位不能為0,況且給定的數字里不包括0。
注意一下在美國的學校中教的“部分乘積”,第一部分乘積是第二個數的個位和第一個數的積,第二部分乘積是第二個數的十位和第一個數的乘積.
寫一個程序找出所有的牛式。
?
Input
?
Line 1:數字的個數n。 Line 2:N個用空格分開的數字(每個數字都∈ {1,2,3,4,5,6,7,8,9})。
?
Output
?
共一行,一個數字。表示牛式的總數。 下面是樣例的那個牛式。2 2 2x 2 2---------4 4 44 4 4---------4 8 8 4?
Sample Input
5 2 3 4 6 8Sample Output
1讓找出一個3位數abc和一個2位數de,使得abc*d和abc*e均為4位數,且abc*de為5位數(且均由給出的數組成)
直接從100-1000和從10-100循環找出滿足題意的數即可
#include <map> #include <cstdlib> #include <cmath> #include <cstdio> #include <string> #include <cstring> #include <fstream> #include <iostream> #include <algorithm> #define lowbit(a) (a&(-a)) #define _mid(a,b) ((a+b)/2) #define _mem(a,b) memset(a,0,(b+3)<<2) #define fori(a) for(int i=0;i<a;i++) #define forj(a) for(int j=0;j<a;j++) #define ifor(a) for(int i=1;i<=a;i++) #define jfor(a) for(int j=1;j<=a;j++) #define mem(a,b) memset(a,b,sizeof(a)) #define IN freopen("in.txt","r",stdin) #define OUT freopen("out.txt","w",stdout) #define IO do{\ios::sync_with_stdio(false);\cin.tie(0);\cout.tie(0);}while(0) #define mp(a,b) make_pair(a,b); using namespace std; typedef long long ll; const int maxn = 210; const int INF = 0x3f3f3f3f; const int inf = 0x3f; const double EPS = 1e-7; const double Pi = acos(-1); const int MOD = 1e9+7; bool v[100]; bool allused(int a,int b) {int buf[50]= {a,b,a*b,(b%10)*a,(b/10)*a};fori(5){if(i!=2&&buf[i] > 1000)return false;while(buf[i]) {if(!v[buf[i]%10])return false;buf[i] /= 10;}}return true; } int main() {int n;cin >> n;int buf;fori(n)cin >> buf,v[buf] = true;int res = 0;for(int i=111; i<1000; i++)for(int j=11; j<100; j++){if(i*j<10000&&allused(i,j))res++;}cout << res << endl;return 0; }?
轉載于:https://www.cnblogs.com/bestsort/p/10588836.html
總結
以上是生活随笔為你收集整理的USACO1.3.4 Prime Cryptarithm 牛式 解题报告(模拟)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现剑指offer删除链表中
- 下一篇: 章节六、2-异常---运行时异常