UVA - 725 Division

Posted ISGuXing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA - 725 Division相关的知识,希望对你有一定的参考价值。

题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=666

题目大意:

输入一个n,求出所有abcde/fghij=n的情况。

思路:枚举所有情况。因为枚举的数字是从01234~98765,时间是 不可能超限的。

ps:注意格式,搞不好就PE

这题格式好怪,反正我是不知道为啥是这种格式。。。

代码:

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<algorithm>
 5 using namespace std;
 6 int main ()
 7 {
 8     int n;
 9     int T=0;
10     while(cin>>n)
11     {
12         if(n==0)    break;
13         if(T++) cout<<endl;
14         int vis[15];
15         bool flag=false;
16         for (int i=1234;i<=98765;i++)
17         {
18             bool fl=true;
19             memset(vis,0,sizeof(vis));
20             int tmp=i*n;
21             if(tmp>98765)
22                 break;
23             int a,b,c,d,e,f,g,h,x,j;
24             a=i/10000;
25             vis[a]++;
26             b=(i/1000)%10;
27             vis[b]++;
28             c=((i/100)%100)%10;
29             vis[c]++;
30             d=(((i/10)%1000)%100)%10;
31             vis[d]++;
32             e=i%10;
33             vis[e]++;
34             f=tmp/10000;
35             vis[f]++;
36             g=(tmp/1000)%10;
37             vis[g]++;
38             h=((tmp/100)%100)%10;
39             vis[h]++;
40             x=(((tmp/10)%1000)%100)%10;
41             vis[x]++;
42             j=tmp%10;
43             vis[j]++;
44             for(int k=0;k<10;k++)
45             {
46                 if(vis[k]>1)
47                     fl=false;
48             }
49             if(fl)
50             {
51                 if(tmp<10000&&i<10000)
52                     cout<<0<<tmp<<" / "<<0<<i<<" = "<<n<<endl;
53                 else if(tmp<10000)
54                     cout<<0<<tmp<<" / "<<i<<" = "<<n<<endl;
55                 else if(i<10000)
56                     cout<<tmp<<" / "<<0<<i<<" = "<<n<<endl;
57                 else
58                     cout<<tmp<<" / "<<i<<" = "<<n<<endl;
59                 flag=true;
60             }
61         }
62         if(!flag)
63             cout<<"There are no solutions for "<<n<<.<<endl;
64     }
65     return 0;
66 }

 

以上是关于UVA - 725 Division的主要内容,如果未能解决你的问题,请参考以下文章

UVA 725 Division

UVA - 725 Division

UVA 725 division暴力枚举

Uva 725 Division

枚举专项练习_Uva725(Division)_Uva11059(Maximun Product)

UVA725 除法 (Division )