UVA - 725

原创 2018年04月15日 17:08:11

这题真暴力,算是对暴力解法的入门了。
wa了好多次然后就把好好的代码改成这样(毫无美感)>_<

#include<cstdio>
#include<cstring>
#include<map>
using namespace std;

bool is(int bc, int cs){
    if(cs < 10000 ||  bc < 1234) return false;
    map<int,int>fuck;
    fuck.clear();
    if(bc < 10000) fuck[0] = 1; 
    while(bc){
        int y = bc%10;
        if(fuck.count(y)) return false;
        else fuck[y] = 1;
        bc /= 10;
    }
    while(cs){
        int y = cs%10;
        if(fuck.count(y)) return false;
        else fuck[y] = 1;
        cs /= 10;
    }
    return true;
}

int main(){
    int n;
    int kase = 0;
    while(~scanf("%d",&n) && n){
        if(kase++) putchar('\n');
        int w, k, b, s, g;
        int flag = 1;
        for(w = 0; w <= 9; w++)
            for(k = 0; k <= 9; k++)
                for(b = 0; b <= 9; b++)
                    for(s = 0; s <= 9; s++)
                        for(g = 0; g <= 9; g++){
                            int bc = 10000*w+1000*k+100*b+10*s+g;
                            int cs = n*bc;
                            if(is(bc,cs)) {printf("%d / %05d = %d\n",cs,bc,n); flag = 0;}
                        }

        if(flag) printf("There are no solutions for %d.\n",n);
    }

    return 0;
}

UVa 725 Division 【暴力入门】

题目链接:点击打开链接 中文翻译见紫书182页 一开始暴力想到了10个for循环,接着看了看书,5个就够了,写了会感觉好low啊。写完后有bug,debug时感觉好熟悉,突然想到了第二章的习题2-6,...
  • Young_12138
  • Young_12138
  • 2017-02-21 22:16:51
  • 231

UVA725-Division

暴力枚举。 当然不是把十个全部枚举,不然妥妥的超时~ 只需要枚举一部分,另一部分根据题目给的数推出即可,题意比较明显。 我这里打了一个表,便于枚举。 但实际上直接for循环1234到98765...
  • hy1405430407
  • hy1405430407
  • 2015-08-03 16:27:30
  • 846

UVa 725 - Division

题目:给你一个数字n,用0~9,10个数字组成两个五位数,使得他们的商为n,按顺序输出所有结果。 分析:暴力。直接枚举第二个数字,范围(1000,100000),然后判断即可。 说明:直接搜索应该...
  • mobius_strip
  • mobius_strip
  • 2014-08-21 19:55:22
  • 4218

例题7-1 除法 UVa725

1.题目描述:点击打开链接 2.解题思路:本题利用暴力搜索解决。直接从1234开始枚举除数,由于乘积不能超过100000,所以上限是100000/n。然后判断得到的乘积和除数中的所有数是否都各不相同...
  • u014800748
  • u014800748
  • 2015-04-05 16:07:12
  • 902

UVA-725除法-Division

分析:  枚举0-9的所有排列?没这个必要,只需要枚举fghij就可以计算出abcde(=fghij * n),然后判断是否所有的数字都不相同即可。不仅程序简单,而且枚举量也从10!=3628800降...
  • u014004096
  • u014004096
  • 2014-12-10 16:12:59
  • 943

除法(Division, UVa 725)

此题UVa链接单击这里=================刚开始做的时候题意理解成了,除数和被除数可以为10000到99999的任意数,然后。。。。测试就错了。 第一次提交的错代码把除数+被除数的位数...
  • Folieshell
  • Folieshell
  • 2015-07-27 11:10:28
  • 397

UVA725 Division【枚举】

题目大意:输入一个正整数N,要求从小到大的输出形如abcde / fghij = n的表达式。 要求a~f为数字0~9,且不能重复(前边可有0)。 思路:如果将a b c d e f g h i j全...
  • u011676797
  • u011676797
  • 2014-12-15 09:04:01
  • 1725

uva725-Division

暴力的例题。
  • u013451221
  • u013451221
  • 2014-07-12 00:28:01
  • 678

除法(Division,UVa 725)

Division  Write a program that finds and displays all pairs of 5-digit numbers that betwe...
  • hdd871532887
  • hdd871532887
  • 2015-12-14 22:39:39
  • 344

Division,Uva725

暴力求解DescriptionDownload as PDF Write a program that finds and displays all pairs of 5-digit numbers...
  • jianghong678
  • jianghong678
  • 2015-07-28 09:58:11
  • 159
收藏助手
不良信息举报
您举报文章:UVA - 725
举报原因:
原因补充:

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