poj safecracker1248
来源:互联网 发布:js 转化成数字类型 编辑:程序博客网 时间:2024/06/04 17:48
1.不读题的教训,以为没有结果是什么都不输出,END输出no solution
其实是end不输出,没有结果输出no solution
2.pow函数默认为doule类型,但poj上要进行强制转换
以下算法时间复杂度较低
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;char letters[15];int value[15],target;void solve(int len){ int a,b,c,d,e; for(a=0;a<len;a++) for(b=0;b<len;b++) if(a!=b) //去除重复元素,在这写可以减少时间复杂度 for(c=0;c<len;c++) if(a!=c&&b!=c) for(d=0;d<len;d++) if(a!=d&&b!=d&&c!=d) for(e=0;e<len;e++) if(a!=e&&b!=e&&c!=e&&d!=e){ //找到一种情况 int temp=value[a]-value[b]*value[b]+value[c]*value[c]*value[c]-value[d]*value[d]*value[d]*value[d]+value[e]*value[e]*value[e]*value[e]*value[e]; if(temp==target){ printf("%c%c%c%c%c\n",value[a]+'A'-1,value[b]+'A'-1,value[c]+'A'-1,value[d]+'A'-1,value[e]+'A'-1); return; } } printf("no solution\n");}bool compare(int a,int b){ return a>b;}int main(){ int i; while(~scanf("%d %s",&target,letters)) //~按位取反 { if(target==0&&strcmp(letters,"END")==0){ break; } i=0; while(letters[i]){ value[i]=letters[i]-'A'+1; i++; } sort(value,value+i,compare); solve(i); } return 0;}
0 0
- poj safecracker1248
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- hibernate的Sessionfactory.getCurrentSession详解和在项目中常用方法
- LeetCode_8
- linux(centos)下SVN服务器如何搭建
- Matlab 矩阵
- 用glew,glfw,FreeImage实现opengl学习笔记6坐标变换
- poj safecracker1248
- MYSQL 命令行大全 (简洁、明了、全面)
- Leetcode_9
- 计算机网络概述
- 封装一个对xml进行解析的工具方法
- 数据库---视图
- 关于“测试”的死磕:做好技术与测试人员之间的协调
- HDU2546-饭卡
- jdbc连接池详解