USACO 1.3.3 Prime Cryptarithm
2016-07-17 14:46
239 查看
题目链接:1.3.3
我用的枚举法,即每产生一组数据就判断是否是所给数字里的.
AC还沾沾自喜,但一看题解,发现自己的代码真low...
在平时练习时,应该追求高效,精炼的代码,这样比赛时才能省出大量时间去做其他题!
高效代码
我用的枚举法,即每产生一组数据就判断是否是所给数字里的.
AC还沾沾自喜,但一看题解,发现自己的代码真low...
在平时练习时,应该追求高效,精炼的代码,这样比赛时才能省出大量时间去做其他题!
/* ID:wang9621 PROG:crypt1 LANG:C++ */ #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int cnt[11]; bool hash1(int x) { while(x) { if(!cnt[x%10]) return false; x /= 10; } return true; } int main() { freopen("crypt1.in","r",stdin); freopen("crypt1.out","w",stdout); int n,x; int count = 0; scanf("%d",&n); for(int i = 1;i<=n; i++) { scanf("%d",&x); cnt[x] = 1; } for(int i = 100; i<1000; i++) { if(hash1(i)) { for(int j = 10; j<100; j++) { if(hash1(j)) { if(i*j<10000&&i*(j/10)<1000&&i*(j%10)<1000&&hash1(i*(j%10))&&hash1(i*(j/10))&&hash1(i*j)) { count++; } } } } } printf("%d\n",count); return 0; }
高效代码
测试结果 Executing... Test 1: TEST OK [0.000 secs, 4180 KB] Test 2: TEST OK [0.000 secs, 4180 KB] Test 3: TEST OK [0.000 secs, 4180 KB] Test 4: TEST OK [0.000 secs, 4180 KB] Test 5: TEST OK [0.000 secs, 4180 KB] Test 6: TEST OK [0.000 secs, 4180 KB] Test 7: TEST OK [0.000 secs, 4180 KB]
All tests OK.
相关文章推荐
- 【微言大义】时间都去哪了?
- 牛顿(Newton)方法
- poj 1611 The Suspects
- CSS基础课程笔记
- javascript4-数组
- Maven 引入oracle jdbc jar包
- 剑指offer-6-面试43:n 个骰子的点数()
- fetch和XMLHttpRequest讲解
- 常用算法
- mybatis----批量增加与批量删除
- 【POJ3415】 Common Substrings(后缀数组|SAM)
- 中山题解
- Android MVP开发模式实例
- matlab GUI
- 双连通性
- 搜索二叉树
- Unicode,GBK和UTF8
- 常用算法
- C++异常处理基础
- 安装JDK8u91之后打开Eclipse报错: