题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=1930
题目概述:
对于一个字符串,将字符串每三个字符进行编码,规则是将这三个字符转成对应的数字,字母A与1对应,B与2对应,C与3对应,以此类推,空格字符与27对应,转换完之后将这三个数字接在一起删掉前导零之后成为一个新数字,如:THE--->200805
之后给出四个秘钥(就是四个数字),将之前得到的数字分别对这四个秘钥取模,结果用上述方法同样转换成一个新数字,如四个数字为34, 81, 65, 43,取模结果为 1, 6, 20,38,则新数字即为1062038。
现在给出你四个秘钥以及n个经过上述转换后的数字,请你求出原字符串。(题意其实讲的不太好,没看懂的童鞋建议可以去看下原题面)
大致思路:
看懂题之后就是赤果果的中国剩余定理了,不过不保证秘钥之间不两两互素,所以用拓展之后的中国剩余定理。关于中国剩余定理就不赘述了(其实是窝自己也不太懂来着),细节见代码。
代码:
#include
#include
#include
#include
#include
#include
#include
#include