UVa644 立即可解碼性

2021-06-20 11:19:39 字數 581 閱讀 1022

思想:主要受上一題10815的啟發,對每組資料在進行字首判斷時,可以先排序(因為排序後再判斷的話,只需要判斷相鄰的即可),再遍歷所有元素,對其與其相鄰(後乙個)元素進行字首判斷。其中字首判斷是用strncmp的第三個引數指定前n個字元比較。

code:

#include#include#includeint cmp_string(const void* _a, const void* _b);

void imdecode(int n, int k);

char code[10][20];

int main()

{ int i = 0;//每組資料有i個code,即行數

int j = 1;//第j組資料

memset(code, 0, sizeof(code));

while ((scanf("%s", code[i])) != eof)//注意別忘了寫!=eof,否則意思是scanf成功讀入0個值,不是檢測到檔案結尾。。

{//輸入資料以eof結束

if (code[i][0] == '9')

{//一組資料

//for(int k=0;k

UVa 644 立即可解碼性

解題思路 題意是 判斷輸入的多組資料中,有無哪組資料是另一組資料的字首 相應輸出結果即可 開始一直wa 是沒有控制好假如乙個字串有多組匹配字串,要控制只輸出一次 怪自己粗心 include include include define a 100 int cmp const void a const...