UVa_644 - Immediate Decodability
来源:互联网 发布:食品行业数据 编辑:程序博客网 时间:2024/06/17 13:01
简单模拟题,依次读入编码,比较是否一编码是另一前缀即可。
有两种比较方式,
(1)把所有编码全读入后,再进行判断;
(2)边读入边比较,同时判断
二者比较次数相同,时间复杂度相同,看个人喜好。
代码如下:
#include<stdio.h>#include<string.h>using namespace std;char str[8][11];int main(){ int i=0,j,k,cases=0;//i表示读入二维数组str的下标,比如i=0,str[0]表示读入第一个编码;cases表示第几个测试样例 bool flag=true,end=false;//flag标志开始is immediately decodable,end=false标志未读到9,end=true标志读到9 while(scanf("%s",str[i])!=EOF) { if(str[i][0]!='9') i++; else {i=0;cases++;end=true;} //i重置为初值 if(i==1) continue;//只读入一行,继续读下一行 else // { for(j=0;j<i-1;j++){ int len=(strlen(str[i-1])<strlen(str[j]))?strlen(str[i-1]):strlen(str[j]); for(k=0;k<len;k++){ if(str[j][k]==str[i-1][k]) continue; else break; } if(k>=len) { flag=false; break;} //找到某一编码是另一编码前缀 else continue;//继续 } } if(flag&&end) { flag=true,end=false;//重置初值 printf("Set %d is immediately decodable\n",cases); } else if(!flag&&end) { flag=true,end=false; printf("Set %d is not immediately decodable\n",cases); } }return 0;}
0 0
- UVa_644 - Immediate Decodability
- Immediate Decodability
- Immediate Decodability
- Immediate Decodability
- Immediate Decodability
- Immediate Decodability
- Immediate Decodability
- IMMEDIATE DECODABILITY
- Immediate Decodability
- Immediate Decodability
- fjnu 1112 IMMEDIATE DECODABILITY
- 1056 IMMEDIATE DECODABILITY
- 644--Immediate Decodability
- 1056 IMMEDIATE DECODABILITY //trie
- poj 1056 : immediate decodability
- POJ 1056 IMMEDIATE DECODABILITY
- HDOJ Immediate Decodability
- uva 644 Immediate Decodability
- TOJ 1611 Moo University - Financial Aid -- 线段树 + DP
- poj2159
- Android特效开发(可伸缩View带互相挤压效果 )
- 如何设置ESXi的SNMP
- C++中的智能指针
- UVa_644 - Immediate Decodability
- css ISO风格 按钮和Table 兼容IE
- 剑指offer面试题5
- KMP algorithm ---C++
- 队列的数组实现
- java中split()方法的特殊分割符"|"和"."
- 弱性能穿戴设备App化之Lua For STM32
- THE DRUNK JAILER
- 个人重构机房收费系统——配置文件