poj 1248 Safecracker
来源:互联网 发布:php最简单代码 编辑:程序博客网 时间:2024/06/08 02:29
同样的理解题意很重要,我觉得可能这题作者的本意不是这么水,没那么简单可以暴力过的,但是我是暴力A了。。。
网上有用回溯的,字典树的。。。也有5重暴力,反正我是懒得看,暴力我还是有自信自己写的,说不定写的还好一些。。哈哈
我这个解法的亮点应该就是转换以后的sort(),这样算出来的一定是最大字典序的。。。一次A
题意:给定一个长度为5……12个不同字符组成的字符串,从中选取5个,设为v,w,x,y,z,要满足等式:v-w^2+x^3-y^4+z^5=target,现在给出字符串和target,求满足该条件的5个字符(字典序要最大)
AC的代码:
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;char str[15];//存输入的字符串int strNum[15];//上面字符串对应的数字void Trans(){int i;for(i=0;i<strlen(str);i++)strNum[i]=str[i]-'A'+1;}void forceSearch(int len,int target){int i,j,k,l,m;//5重暴力counter//暴力主体 i是最高位的变量for(i=len-1;i>=0;i--)for(j=len-1;j>=0;j--){if(j==i)continue;for(k=len-1;k>=0;k--){if(k==i || k==j)continue;for(l=len-1;l>=0;l--){if(l==i || l==j || l==k)continue;for(m=len-1;m>=0;m--){if(m==i || m==j || m==k || m==l)continue;else if(strNum[i] - strNum[j]*strNum[j] + strNum[k]*strNum[k]*strNum[k] - strNum[l]*strNum[l]*strNum[l]*strNum[l] + strNum[m]*strNum[m]*strNum[m]*strNum[m]*strNum[m] == target){printf("%c%c%c%c%c\n",strNum[i]-1+'A',strNum[j]-1+'A',strNum[k]-1+'A',strNum[l]-1+'A',strNum[m]-1+'A');return;}}}}}printf("no solution\n");}int main(){int i;int target;while(scanf("%d%s",&target,str)){if(target==0 && strcmp(str,"END")==0)return 0;int len=strlen(str);//存每次字符串的长度Trans();sort(strNum,strNum+len);//test ok/*for(i=0;i<len;i++)printf("%d,",strNum[i]);printf("\n");*/forceSearch(len,target);}return 0;}
- poj 1248 Safecracker
- POJ 1248 - Safecracker
- poj 1248 Safecracker
- POJ 1248 Safecracker
- POJ 1248 Safecracker 水题
- POJ 1248 Safecracker
- poj 1248 Safecracker(暴力枚举)
- POJ 1248 Safecracker 模拟+排序
- POJ 1248 && HDU 1015 Safecracker(dfs)
- 1248 Safecracker
- Safecracker
- Safecracker
- Safecracker
- Safecracker
- Safecracker
- Safecracker
- Safecracker
- Safecracker
- UPnP协议编程实践
- JMX “javax.management.NotCompliantMBeanException” 异常解决
- ios开发之某些知识点总结
- UPnP
- 8086学习笔记——传输指令
- poj 1248 Safecracker
- for循环中i++与++i的效率探究
- linux系统编程--信号
- DK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
- TCP/IP 连接三次握手与释放四次握手
- 安卓编程常见错误记录
- JoystickMouse
- 要求把地板上的花去掉
- POJ 3063 Sherlock Holmes