ural 1007 Code Words
来源:互联网 发布:淘宝机械表 编辑:程序博客网 时间:2024/05/18 16:55
题意:
一个发送机可以通过一条隧道发送一些以二进制代码组成的单词。在其尽头 的接收机可以使用特殊技术恢复到最初的单词。 每个单词最初都由0和1组成。所有的单词最初长度都为N(4<=N<=1000)。当穿 过隧道之后单词可能发生以下几种情况之一:
1.任意(一个)0被1取代
2.任意(一个)符号被删除
3.一个符号(0或1)被插入到任何位置.
我们知道最初的单词都具有以下性质: 有1的位置号的总和是N+1的倍数或是0
分析:分几种情况暴力模拟。
Code:
#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int maxn=1010;char str[maxn],tmp[maxn];int N,len;bool Multiple(char s[]){ int sum=0; for(int i=0;i<N;i++){ if(s[i]=='1') sum+=i+1; } if(sum%(N+1)==0) return true; return false;}int main(){ scanf("%d",&N); while(scanf("%s",str)!=EOF){ len=strlen(str); if(len==N){ if(Multiple(str)) printf("%s\n",str); else { for(int i=0;i<len;i++){ if(str[i]=='1'){ for(int j=0;j<len;j++){ if(j==i){ tmp[j]='0'; continue; } tmp[j]=str[j]; } tmp[len]='\0'; if(Multiple(tmp)){ printf("%s\n",tmp); break; } } } } }else if(len<N){ for(int i=0;i<N;i++){ int idx=0,j; for(j=0;j<i;j++){ tmp[idx]=str[j]; idx++; } tmp[idx++]='0'; for(;j<len;j++){ tmp[idx]=str[j]; idx++; } tmp[idx]='\0'; if(Multiple(tmp)){ printf("%s\n",tmp); break; } idx=0; for(j=0;j<i;j++){ tmp[idx]=str[j]; idx++; } tmp[idx++]='1'; for(;j<len;j++){ tmp[idx]=str[j]; idx++; } tmp[idx]='\0'; if(Multiple(tmp)){ printf("%s\n",tmp); break; } } }else if(len>N){ for(int i=0;i<len;i++){ int idx=0; for(int j=0;j<len;j++){ if(j==i) continue; tmp[idx++]=str[j]; } tmp[idx]='\0'; if(Multiple(tmp)){ printf("%s\n",tmp); break; } } } } return 0;}
- ural 1007 Code Words
- ural 1007 Code Words
- URAL 1007 - Code Words
- Ural 2045 Richness of words
- ural 1069. Prufer Code
- URAL 1069 Prufer Code
- ural 1069. Prufer Code
- URAL 1792 Hamming Code
- URAL 1792Hamming Code
- Ural 1313. Some Words about Sport
- URAL 2037 Richness of binary words
- Ural 2045 Richness of words(构造)
- Ural 2037 Richness of binary words
- URAL - 1792 Hamming Code(枚举)
- URAL 1792. Hamming Code (枚举)
- Code[VS] 3301 Square words
- code[vs]3301 Square words
- 【Google Code Jam】Reverse Words
- 数码相机各参数详解
- javaMail邮件激活用户出错
- (二)Linux平台中下载Android源码
- Hibernate继承映射
- C语言项目--教师信息/学生成绩管理系统
- ural 1007 Code Words
- spring 3全面拥抱OSGi 4.2
- Treeview失去焦点高亮度显示
- 如何学flex/AS3?
- PCBSD9.1,Ubuntu13.04,Kali1,Win7, 四系统装入你的电脑
- BufferedReader获取网站里的dom元素
- Java中serialVersionUID的解释
- Critical Life skills
- 关于oracle执行计划