[恢]hdu 1287
2011-12-27 15:16:26
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1287
题意:这题的题意很让人莫名。其实是说存在一个大写字母x,然后让原文(都是大写字母)和x做xor后得到密文。现在给密文求原文。
因为x不知道,所以枚举x。判断方法是判断是否解密出来的原文都在'A'-'Z'范围内。
代码:
# include <stdio.h>
int num[10010] ;
int n ;
int test (int x)
{
int i ;
for (i = 0 ; i < n ; i++)
if ((num[i]^x) < 65 || (num[i]^x) >= (65+26)) return 0 ;
return 1 ;
}
int main ()
{
int i, j ;
while (~scanf ("%d", &n))
{
for (i = 0 ; i < n ;i++)
scanf ("%d", num+i) ;
for (i = 65 ; i < 65+26 ; i++)
if (test(i)) break ;
for (j = 0 ; j < n ; j++)
putchar (num[j] ^ i) ;
printf ("\n") ;
}
return 0 ;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步