暴力 ZOJ 1403 Safecracker

 

题目传送门

 1 /*
 2     暴力:纯暴力,在家水水
 3 */
 4 #include <cstdio>
 5 #include <cstring>
 6 #include <algorithm>
 7 #include <iostream>
 8 #include <string>
 9 #include <vector>
10 #include <cmath>
11 using namespace std;
12 
13 const int MAXN = 1e3 + 10;
14 const int INF = 0x3f3f3f3f;
15 char s[15];
16 int v[15];
17 int len, tar;
18 
19 bool cmp(int x, int y)    {return x > y;}
20 
21 void work(void)
22 {
23     for (int i=0; i<len; ++i)
24     {
25         for (int j=0; j<len; ++j)
26         {
27             if (i != j)
28             {
29                 for (int k=0; k<len; ++k)
30                 {
31                     if (k != i && k != j)
32                     {
33                         for (int l=0; l<len; ++l)
34                         {
35                             if (l != i && l != j && l != k)
36                             {
37                                 for (int m=0; m<len; ++m)
38                                 {
39                                     if (m != i && m != j && m != k && m != l)
40                                     {
41                                         if (v[i] - pow (v[j], 2) + pow (v[k], 3) - pow (v[l], 4) + pow (v[m], 5) == tar)
42                                         {
43                                             printf ("%c%c%c%c%c\n", v[i] + 'A' - 1, v[j] + 'A' - 1, v[k] + 'A' - 1, v[l] + 'A' - 1, v[m] + 'A' - 1);
44                                             return ;
45                                         }
46                                     }
47                                 }
48                             }
49                         }
50                     }
51                 }
52             }
53         }
54     }
55 
56     printf ("no solution\n");
57 }
58 
59 int main(void)        //ZOJ 1403 Safecracker
60 {
61 //    freopen ("ZOJ_1403.in", "r", stdin);
62 
63     while (scanf ("%d%s", &tar, &s) == 2)
64     {
65         if (tar == 0 && strcmp (s, "END") == 0)    break;
66         len = strlen (s);
67         for (int i=0; i<len; ++i)    v[i] = s[i] - 'A' + 1;
68         sort (v, v+len, cmp);
69 
70         work ();
71     }
72 
73     return 0;
74 }
75 
76 
77 /*
78 v - w^2 + x^3 - y^4 + z^5 = target
79 */

 

转载于:https://www.cnblogs.com/Running-Time/p/4631901.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值