首页 > 代码库 > uva 213 - Message Decoding (我觉得我的方法要比书上少很多代码,不保证好……)
uva 213 - Message Decoding (我觉得我的方法要比书上少很多代码,不保证好……)
#include<stdio.h> #include<math.h> #include<string.h> char s[250]; char a[10][250]; int a1[4]; int a2[250]; char ch; int init(int len) { int tt=0; for(int i=1;i<=7;i++) { for(int j=0;j<(int)pow(2,i)-1;j++) { a[i][j]=s[tt++]; if(tt>=len) break; } if(tt>=len) break; } } int tran(int *aa,int len) { int temp=0; for(int i=len-1,j=0; i>=0; i--,j++) { temp+=(int)aa[i]*pow(2,j); } return temp; } int main() { while(gets(s)!=NULL) { memset(a,0,sizeof(a)); int len=strlen(s); init(len); while(1) { int t2=0; while(t2<3) { scanf("%c",&ch); if(ch=='1'||ch=='0') { a1[t2]=ch-'0'; t2++; } } int lenth=tran(a1,3); if(lenth==0) { scanf("%c",&ch); printf("\n"); break; } while(1) { int t3=0; while(t3<lenth) { scanf("%c",&ch); if(ch=='1'||ch=='0') { a2[t3]=ch-'0'; t3++; } } int ans=tran(a2,lenth); if(ans!=(int)pow(2,lenth)-1) printf("%c",a[lenth][ans]); else break; } } } return 0; }
uva 213 - Message Decoding (我觉得我的方法要比书上少很多代码,不保证好……)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。