百度Android开发工程师笔试题
编程题第二题:
打怪兽AC代码
#include <iostream> #define MAX 1000000 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ //首先将字符串读入,全部换成对应的攻击,输出时,如果输出碰到连续的字符串,则将其转换为C char de[MAX]; int fadongc(int p) { if(de[p]=='S'&&de[p+1]=='K'&&de[p+2]=='H') return 1; if(de[p]=='S'&&de[p+1]=='H'&&de[p+2]=='K') return 1; if(de[p]=='H'&&de[p+1]=='S'&&de[p+2]=='K') return 1; if(de[p]=='H'&&de[p+1]=='K'&&de[p+2]=='S') return 1; if(de[p]=='K'&&de[p+1]=='H'&&de[p+2]=='S') return 1; if(de[p]=='K'&&de[p+1]=='S'&&de[p+2]=='H') return 1; else return 0; } char f(char c) { char sum; switch(c){ case 'R':sum ='S'; break; case 'B':sum = 'K'; break; case 'L':sum = 'H'; break; } return sum; } int main(int argc, char** argv) { int n; char s[MAX]; scanf("%s",s); int i,j; for( i=0, j=0;s[i]!='\0';i++,j++) de[i]=f(s[i]); for(int i=0;de[i]!='\0'&&i<=j;i++) { if(fadongc(i)==1) { printf("C"); i=i+2; } else printf("%c",de[i]); } return 0; }#百度##安卓工程师#