crypt1解题报告 —— icedream61 博客园(转载请注明出处)
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
  用给出的N个数字,替换以下竖式,能生成多少个正确的竖式?
  * * *
  x * *
  -------
  * * *
  * * *
  -------
  * * * *
  输入文件,第一行N表示有N个数字,第二行给出所有数字(空格分割。)
【数据范围】
  所有数字∈{1,2,3,4,5,6,7,8,9}
【输入样例】
  5
  2 3 4 6 8
【输出样例】
  1
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
  竖式中,只要知道乘数和被乘数,就可以计算出下面三个结果。
  因此,只要枚举这两个数就好,一共5位,9^5<100000,一定没问题。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
  一遍AC。
  样例一开始本机测试没过,原因是乘出来的三个结果没判断位数是否正确。可以说,还是读题不够严谨仔细。

------------------------------------------------------------------------------------------------------------------------------------------------

【代码】

 /*
ID: icedrea1
PROB: crypt1
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; int N,D[];
bool have[]; bool ok(int num)
{
while(num)
{
if(!have[num%]) return false;
num/=;
}
return true;
}
bool ok(int A,int B,int C,int D,int E)
{
int i = A*+B*+C;
int j = D*+E;
int x = i*E; if(x< || x>) return false;
int y = i*D; if(y< || y>) return false;
int z = x+y*; if(z< || z>) return false;
return ok(x) && ok(y) && ok(z);
} int main()
{
ifstream in("crypt1.in");
ofstream out("crypt1.out"); in>>N;
for(int i=;i<=N;++i) { in>>D[i]; have[D[i]]=true; } int s=;
for(int a=;a<=N;++a)
for(int b=;b<=N;++b)
for(int c=;c<=N;++c)
for(int d=;d<=N;++d)
for(int e=;e<=N;++e)
if(ok(D[a],D[b],D[c],D[d],D[e])) ++s;
out<<s<<endl; in.close();
out.close();
return ;
}

USACO Section1.3 Prime Cryptarithm 解题报告的更多相关文章

  1. USACO Section1.5 Prime Palindromes 解题报告

    pprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section1.5 Superprime Rib 解题报告

    sprime解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  3. USACO Section1.5 Number Triangles 解题报告

    numtri解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  4. USACO Section1.4 Arithmetic Progressions 解题报告

    ariprog解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  5. USACO Section1.3 Combination Lock 解题报告

    combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  6. USACO Section1.3 Barn Repair 解题报告

    barn1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  7. USACO Section1.3 Mixing Milk 解题报告

    milk解题报告 —— icedream61 博客园(转载请注明出处)----------------------------------------------------------------- ...

  8. USACO Section1.2 Palindromic Squares 解题报告

    palsquare解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------ ...

  9. USACO Section1.2 Dual Palindromes 解题报告

    dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

随机推荐

  1. 西门子 SINAMICS S120 Web server 用户名和默认密码

    sinamics web server可以通过浏览器查看驱动器故障等信息,是一个比较方便的辅助工具. 1. 一般用户 SINAMICS 密码 无 2. 管理员 Administrator 密码 Adm ...

  2. 解决使用phpmyadmin导出导入数据库时提示的“超出长度”、“超时”问题

    IIS请求筛选模块被配置为拒绝超过请求内容长度的请求 1. 修改IIS的applicationhost.config a.文件位置: %windir%/system32/inetsrv/config/ ...

  3. HTML?这些还不懂咋办?

    1.什么是空白折叠现象?为什么要空白折叠呢? 对于我们大多数人的习惯来讲,大都喜欢利用空格或者换行来调整文章的文字结构.这样往往可以使我们可以更轻松的阅读.但是,在HTML中却不允许我们这么做,这是为 ...

  4. python IDE-pycharm在virtualenv里安装软件

    1  windows命令行,进入venv下的scripts目录,执行activate.bat进入虚拟环境 2  以selenium安装为例,输入pip install selenium回车开始安装 3 ...

  5. 使用selenium 检测js报错

    背景:接到一个需求,想检测页面是否能检测js报错,何为js报错,如下图所示,在控制台中,使用console,如果有js报错,就会出现错误 如何检测,简单版操作,打开一个url,使用manage获取浏览 ...

  6. bzoj1801 [Ahoi2009]中国象棋

    Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧. Input 一行包含两个整数N, ...

  7. 【LOJ6029】「雅礼集训 2017 Day1」市场(线段树裸题)

    点此看题面 大致题意: 维护序列,支持区间加法,区间除法(向下取整),区间求\(min\)和区间求和. 线段树维护区间除法 区间加法.区间求\(min\)和区间求和都是线段树基本操作,因此略过不提. ...

  8. 【BZOJ4025】二分图(LCT动态维护图连通性)

    点此看题面 大致题意: 给你一张图以及每条边的出现时间和消失时间,让你求每个时间段这张图是否是二分图. 二分图性质 二分图有一个比较简单的性质,即二分图中不存在奇环. 于是题目就变成了:让你求每个时间 ...

  9. Codeforces 760A Petr and a calendar

    题目链接:http://codeforces.com/problemset/problem/760/A 题意:日历需要多少列. #include <bits/stdc++.h> using ...

  10. 木棒,POJ(1011)

    题目链接:http://poj.org/problem?id=1011 解题报告: #include <cstdio> #include <cstring> #include ...