这是好久前遇到的一道非主流题,当时愣是没弄明白题意。最近闲着没事翻开来看了看,并在网上找到了某大牛写的爬虫,写的真美,顿觉的有必要收藏一下。虽然现在不能完全看懂,但是我想不久的将来,当我想系统的学Python的时候,这肯定是很有用的东西。
Hdoj3337
题目非常短,主要是这句话:
There is only one line in the input. It is a sentence which implies some integer. The length of the sentence is no more than 16. The sentence contains only letters(both uppercase and lowercase), digits, and whitespace. You may assume the given sentence is written in standard English, and always implies exactly one single integer.
意思就是给你一句话,让你写出这句话“imply”的一个数字。。。然而你并不知道imply是什么意思,所以你必须知道他给的这句话是什么,因此解决这道题的标准做法就是通过OJ提供的 AC,WA,TLE,MLE 等提示来对样例进行数据挖掘,具体做法就是类似二分的东西,通过多次提交来确定每一位的字母是什么。
以下是大牛写的程序:
1 | import requests |
代码的思路也很清楚,就是对每一个字母用二分查找爬出他的值。
执行一下:myths@myths-X450LD:~/Desktop$ python hdu.py 3337 <用户名> <密码>
等个十几分钟,大概系统提交了100多发,得到了输出结果:
1 | ('GUESS', 'RESULT') |
最后的一串数字转换为ASCII码就是“The ASCII of H”了。