题意是在一段大写英文字符中找出 5 个字符通过代入公式运算得到目标值,如有多组字符满足题意,则输出字典序最大的一组,否则输出 no solution。

应该是用深搜做的,但是直接暴力也过了……(应该没有比下面更朴实的算法了......)

 #include <bits/stdc++.h>
using namespace std;
int main()
{
std::ios::sync_with_stdio(false);
__int64 aim,tmp;
string s,w;
bool f;
w = "wxjin";
while(cin >> aim)
{
cin >> s;
f = true;
if(aim == && s == "END") break;
int len = s.length();
tmp = ;
for(int i = ; i < len; i++)
s[i] = s[i] - 'A' + ;
for(int i = ; i < len; i++)
for(int u = ; u < len; u++)
for(int p = ; p < len; p++)
for(int l = ; l < len; l++)
for(int k = ; k < len; k++)
if(i!=u && i!=p && i!=l && i!=k)
if(i!=u && u!=p && u!=l && u!=k)
if(p!=u && i!=p && p!=l && p!=k)
if(l!=u && l!=p && i!=l && l!=k)
if(k!=u && k!=p && k!=l && i!=k)
if(s[i]-s[u]*s[u]+s[p]*s[p]*s[p]-s[l]*s[l]*s[l]*s[l]+s[k]*s[k]*s[k]*s[k]*s[k]== aim)
{
if(tmp < s[i]*+s[u]*+s[p]*+s[l]*+s[k])
{
w[] = s[i],w[] = s[u],w[] = s[p],w[] = s[l],w[] = s[k];
f = false;
tmp = s[i]*+s[u]*+s[p]*+s[l]*+s[k];
}
} if(f) cout << "no solution" << endl;
else cout << (char)(w[]+'A'-) << (char)(w[]+'A'-) << (char)(w[]+'A'-) << (char)(w[]+'A'-) << (char)(w[]+'A'-) << endl;
}
return ;
}

HDU 1015(字符运算 **)的更多相关文章

  1. HDOJ(HDU).1015 Safecracker (DFS)

    HDOJ(HDU).1015 Safecracker [从零开始DFS(2)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HDOJ.1 ...

  2. hdu 1015 Safecracker 水题一枚

    题目链接:HDU - 1015 === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Klein s ...

  3. HDU - 2276 位运算矩阵快速幂

    挺有意思的一道题 要会运用一些常见的位运算操作进行优化 题目的本质就是要求下面的式子 \(dp[i][j+1]=(dp[i-1][j]+dp[i][j]) \mod 2\) (第\(i\)个字符在\( ...

  4. Sass字符运算

    在 Sass 中可以通过加法符号“+”来对字符串进行连接.例如: $content: "Hello" + "" + "Sass!"; .bo ...

  5. HDU 4927 大数运算

    模板很重要 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea ...

  6. HDOJ/HDU 1015 Safecracker(枚举、暴力)

    Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...

  7. javascript 一些特殊的字符运算

    1.什么是 --> ? 这两个分开是很简单的两个运算符,比如--,一般表示自减,var i = 5;while(i){console.log(i--);},会打印出5,4,3,2,1: > ...

  8. [matlab] 5.字符运算与微积分

    首先介绍一下matlab里的符号计算 符号变量可以看成是数学中含参数 的表达式中的参数 matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算 要进行符号计算首先要定义符号变量 定义符号对 ...

  9. HDU 1015 Jury Compromise 01背包

    题目链接: http://poj.org/problem?id=1015 Jury Compromise Time Limit: 1000MSMemory Limit: 65536K 问题描述 In ...

随机推荐

  1. bzoj 1854: [Scoi2010]游戏 (并查集||二分图最大匹配)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1854 写法1: 二分图最大匹配 思路:  将武器的属性对武器编号建边,因为只有10000种 ...

  2. Eclipse中项目Project Explorer视图与Package Explorer视图

    Package Explorer视图: Project Explorer视图 两种视图的切换:

  3. cf351B Jeff and Furik (树状数组)

    逆序对数=0的时候,这个数列是有序的 然后交换相邻的,看哪个比较大,逆序对数会加1或减1 Jeff用的是最优策略所以他肯定让逆序对数-1 设f[i]表示Jeff操作前,逆序对数为i,最终的期望次数 那 ...

  4. pandas to_sql

    实例: import pymysql import pandas as pd import numpy as np from sqlalchemy import create_engine df = ...

  5. POJ--1056 IMMEDIATE DECODABILITY && POJ--3630 Phone List(字典树)

    题目链接 题目大意 看输入的每个字符串中是否有一个字符串是另一个字符串的前缀 #include<iostream> #include<cstring> #include< ...

  6. 【洛谷P1052】过河 离散化+dp

    题目大意:给定一个长度为 N 的序列,有 M 个点对答案的贡献为 1,其余为 0,现从起点出发,每次只能走 [s,t] 个单位,求从起点走到终点时答案贡献最小是多少. 题解:由于 N 很大,无法直接记 ...

  7. (转)基于http协议的api接口对于客户端的身份认证方式以及安全措施

    由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的 jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在 ...

  8. Web Deploy 服务器安装设置与使用

    一.服务器的安装设置 1.在windows server上确保IIS安装了[管理服务]这个功能.方法是在[服务器管理器]=>[管理]=>[添加角色和功能]=>[下一步]=>[基 ...

  9. java面试——多线程

    背景:java知识比较宽泛,最好对每一类知识点进行分类总结,方便后面学习查看.该文主要用来总结多线程方面的知识点. 并发与并行的概念 并发性(concurrency)和并行性(parallel)是两个 ...

  10. python学习笔记-Day2 Numpy数组

    1. 实现两个数组相加,在数据量特别大的时候 产生数组: (1)  从列表产生数组:a=[0,1,2,3] a=np.array(1) a (2)  从列表传入 a=np.array([1,2,3,4 ...