外星生命(et.pas/in/out)

原创 2011年10月12日 17:10:40
外星生命

(et.pas/in/out)

Problem

地球上的科学家收到了来自外星的信号:000023*000011=002093,科学家猜想这是某个外星人的年龄。但有人指出,这些外星人好像不怎么聪明,因为23*11=253,而非2093。 但是科学家们发现,如果把000011改成00091的话算式就成立了。他们认为这是接收信号的时候出了差错的缘故。现在给你这样一个算式,问最少改动几个数字就能使得算式成立?

Input

只有一个算式以a*b=c的形式给出,其中a、b、c长度都是6位。

Output

输出最少改动几个数字才能使得算式成立。

我们忽略进位,即a*b的结果只要最后6位与c相同就认为算式成立。

Sample Input

 

000023*000011=002093

 

Sample Output

 

1

==========================

搜索...

1.枚举每一位判断是否和给出的相同..

2.模拟高精乘....

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

==============================

{
ID:jie19952
PROG:
LANG:PASCAL
}
var
  st:string;
  ans:longint;
  a,b,c:array[1..6]of longint;
procedure init;
begin
  assign(input,'et.in');
  assign(output,'et.out');
  reset(input); rewrite(output);
end;

procedure terminate;
begin
  close(input); close(output);
  halt;
end;

procedure pre;
var
  i:longint;
begin
  readln(st);
  for i:=1 to 6 do
    begin
      a[i]:=ord(st[i])-ord('0');
      b[i]:=ord(st[7+i])-ord('0');
      c[i]:=ord(st[14+i])-ord('0');
    end;
end;

procedure dfs(l,jw,m:longint);
var
  x,y:longint;
  x0,y0:longint;
  sum:longint;
  i:longint;
begin
  if m>=ans then exit;
  if l=0 then begin ans:=m; exit; end;
  x0:=a[l]; y0:=b[l];
  for x:=0 to 9 do
    for y:=0 to 9 do
      begin
        if x0<>x then inc(m);
        if y0<>y then inc(m);
        a[l]:=x; b[l]:=y;
        sum:=jw;
        for i:=l to 6 do
          inc(sum,a[i]*b[l+6-i]);
        if sum mod 10<>c[l] then inc(m);

        dfs(l-1,sum div 10,m);
        
        if sum mod 10<>c[l] then dec(m);
        if x0<>x then dec(m);
        if y0<>y then dec(m);
      end;
  a[l]:=x0; b[l]:=y0;
end;

procedure main;
begin
  ans:=6;
  dfs(6,0,0);
  writeln(ans);
end;

begin
  init;
  pre;
  main;
  terminate;
end.


 

 

火星人敏捷开发1001问(第二季)

此课程为敏捷开发的高级课程,聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节,从而令学员不但得到可行的答案,更能思考答案背后隐含的敏捷思想。
  • 2015年02月03日 15:08

浅谈“生命的起源”

在这个世界上所有动物中,人类是最高等的动物,且具有发达的大脑,丰富的智慧。千百年来人类用自己的智慧对许多未知的事物一直进行着艰苦的研究和探索。 比如:人的起源是什么?十九世纪末恩格斯在《自然辨证法》...
  • shine4j
  • shine4j
  • 2016-07-08 10:38:30
  • 240

堆栈—冲刺十三模拟赛 外星密码

P1967 - 【NOIP2010冲刺十三模拟赛】外星密码 Description 有了防护伞,并不能完全避免2012的灾难。地球防卫小队决定去求助外星种族的帮助。经过很长时间的努力,小队终...
  • txl16211
  • txl16211
  • 2015-10-12 19:44:41
  • 763

计蒜客 难题题库 223 字母排序

49次  14.2%  1000ms  65536K  XXXX年突然有外星人造访,但大家语言不通,不过科学家们经过研究发现外星人用26个英文字母组成的单词中最长不降子序列的长度来表述数字,...
  • changshu1
  • changshu1
  • 2015-08-11 09:19:28
  • 951

wikioi 1030 外星生命

http://wikioi.com/problem/1030/ 就是道坑,直接int mian(){}即可过 1 000023*000011=002093 2 001538*9512...
  • u012925197
  • u012925197
  • 2013-12-04 22:05:36
  • 395

bzoj 1923: [Sdoi2010]外星千足虫 (高斯消元)

1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 753  Solved: 474 [Submit][S...
  • clover_hxy
  • clover_hxy
  • 2016-04-23 10:58:44
  • 691

BZOJ 2251 [2010Beijing Wc]外星联络

trie
  • Orion_Rigel
  • Orion_Rigel
  • 2016-08-28 21:13:43
  • 415

jzoj. 100031. 【NOIP2017提高A组模拟7.9】外星密码

Input共两行,第一行一个整数 n,第二行 n 个值为 0 或 1 的整数,表示矩阵的最后一列。 Output输出文件共一行,为矩阵的第一行。 Sample Input5 1 1 0 0 0Sam...
  • liangzihao1
  • liangzihao1
  • 2017-07-09 16:12:20
  • 204

java蓝桥杯:外星日历

/** * 标题:外星日历某星系深处发现了文明遗迹。他们的计数也是用十进制。 他们的文明也有日历。日历只有天数,没有年、月的概念。 有趣的是,他们也使用了类似“星期”的概念, 只不过他们的一个星期...
  • qq_34769573
  • qq_34769573
  • 2017-12-06 15:04:03
  • 953

[BZOJ1923][Sdoi2010]外星千足虫(高斯消元)

题目描述传送门题解高斯消元求解异或方程组 和普通消元的思路差不多,同样是找到一个可用的交换,然后把原来的加减运算全部改为异或 如果a(i,i)无法交换成0的话,说明这里有可能出现无解或多解,那么回...
  • Clove_unique
  • Clove_unique
  • 2017-01-12 08:56:13
  • 408
收藏助手
不良信息举报
您举报文章:外星生命(et.pas/in/out)
举报原因:
原因补充:

(最多只允许输入30个字)