1. 程式人生 > >UVA【213】 Message Decoding

UVA【213】 Message Decoding

題意:二進位制遍歷問題 每組輸入給一個編碼頭 從頭開始每個字元對應0 00 01 10 000 001 010 011 100 101 110 0000 0001……後面給一串數字 頭三個數表示後面每次讀取的長度 全為1時結束一組輸入 頭三個數為0時編碼結束

輸入樣例:

TNM AEIOU
//對應 T-0 N-00 M-01  -10 A-000 E-001 I-010 O-011 U-100
001(編碼長度為1)0(T)1(小節結束)011(編碼長度為3)000(A)11
1(小節結束)010(編碼長度為2)00(N)10( )01(M)11(小節結束)011(編碼長度為3)001(E)1
11(小節結束)000(編碼結束)

輸出:

TAN ME
解題思路:主要卡在輸入 這題輸入主要要弄好換行 所以要一個一個字元錄 不能getline C的話getchar() C++cin.get() 這裡參考了別人思路 寫了個新的readchar函式 一切搞定 其次還有二進位制的轉換問題 決定直接轉換成下標 同時用新學的移位 1<< 很方便的處理編碼長度 之後直接輸出相應二進位制對應的符號即可

用C++寫的時候對於檔案結束沒處理好 後來用編碼頭第一個字元作為迴圈條件 應該不是最佳方案 不過好歹過了

程式碼如下:

#include 
#include 

using namespace std;

char code[8][1<<8];

char readchar()//重寫單個字元讀取函式 消除空行
{
    char ch;
    for(;;)
    {
        cin.get(ch);
        if(ch!='\n'&&ch!='\r') return ch;
    }
}

int readcodes()//讀取編碼頭 同時作為迴圈終止的判斷 開始時清空陣列
{
    int i,j;
    char ch;
    for(i=2;i<8;i++)
        for(j=0;j<(1<


相關推薦

UVA213 Message Decoding

題意:二進位制遍歷問題 每組輸入給一個編碼頭 從頭開始每個字元對應0 00 01 10 000 001 010 011 100 101 110 0000 0001……後面給一串數字 頭三個數表示後面每次讀取的長度 全為1時結束一組輸入 頭三個數為0時編碼結束 輸入樣例:

UVa 213 -- Message Decoding

sci .... ems putchar size ascii碼 () Coding .net Message Decoding simple input TNM AEIOU0010101100011101000100111011001111000 $#**\010

UVa 213 Message Decoding (信息編碼)

== cout HA etc 換行符的處理 ostream flag 回歸 Coding 該題目作為放假回歸正軌的第一道正式做的題目,被卡了好久,唉,怪我有顆太浪的心 解題思路: 1、把編碼頭用二維字符數組存儲起來,a[x][y]存儲對應的字符,x表示編碼的長度,y表示編碼

紫書——Message Decoding UVA - 213

題解: 這道題目的精華點就是一開始字元跟二進位制配對的方法。 書本上採用了二維陣列來解決,第1個可以有1個,第2個可以有3個,如此類推,然後之後的就是考你細心程度了,注意getchar和回車的判斷。   書上的程式碼大致如下: #include <iostre

UVA - 213 Message Decoding

Message Decoding  UVA - 213  題目傳送門 emmmm,此題按照紫書上的思路來即可,要麼太複雜 AC程式碼: #include <cstdio> #include <iostream> #include &

uva 213 Message Decoding 字串處理

Some message encoding schemes require that an encoded message be sent in two parts.  The first part,  called  the  header,  contains  the  characters  of  t

UVa 213 資訊解碼Message Decoding

不是難題,但卡了我一段時間 看了劉汝佳的書 慢慢的就明白了 主要由對編碼串的處理構成 這部分相信大家看程式碼都能懂 AC程式碼(和書上差不多,但算是一個總結吧) #include <ios

UVa 213 Message Decoding (資訊解碼)

題意: 編寫一個解碼程式,對數字串進行解碼。 輸入第一行是一個解碼key。key從左到右每個字元分別對0,00,01,10,000,001,011,100,101,110,0000,0001,.

UVA213 UVALive5152 Message Decoding密碼

 Some message encoding schemes require that an encoded message be sent in two parts. The first part, called the header, contains the chara

例題 4-4 資訊解碼 (Message Decoding) UVa 213

題意: 給一個編碼頭和一串編碼(編碼可以換行),編碼頭根據以下規則對應編碼{  考慮下面的01串:  0,00,01,10,000,001,010,101,110,0000,0001.....首先是長度為1的串,然後是長度為二的串,以此類推。並且每一段長度的數字從0到(1&

UVA-213-Message Decoding 資訊編碼 基礎模擬題 直觀的新手思路+詳細註釋

題意: 1. 首先輸入編碼頭,即一串字串 2. 接下來時只有0和1的串,要求就是對串進行操作然後輸出對應的編碼串 3. 每次編碼先用三個字元計算二進位制和判斷接下來的串時多少個字元為一個編碼 4. 每次編碼遇到全為1的時候結束進行下一次串長判斷(即重複3),直到串長判斷為0

UVA 567 Riskfloyd

art printf ios org std span app process iostream 題目鏈接: option=com_onlinejudge&Itemid=8&page=show_problem&problem=5

Java滾動數組動態規劃UVA - 11137 - Ingenuous Cubrency

得到 lose math scanner light clas details 狀態 ann 滾動數組優化自己畫一下就明白了。 http://blog.csdn.net/u014800748/article/details/45849217 解題思路:本題利用遞推關系解決。

Pythonselenium調用IE11瀏覽器,報錯“找不到元素”NoSuchWindowException: Message:Unable to find element on closed window

conn ont csdn creates logs 註冊 target get 意思 當編寫自動化腳本,定位瀏覽器元素時,報如下錯誤: 代碼: >>> # coding=utf-8 >>> from selenium import w

mysql初始化錯誤Can't find error-message file '/usr/local/mysql/errmsg.sys'

mysql初始化環境:CentOS 7.2 MySQL 5.7.18 從mysql官方網站下載rpm包到服務器本地,依次安裝下面的RPM包: mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-serve

UVA 11991 Easy Problem from Rujia Liu?STL

dex space queue rom () ont cti process 代碼 題目鏈接: option=com_onlinejudge&Itemid=8&page=show_problem&problem=3142">ht

DPUVA 624 CD 記錄路徑

type space bre ++ algo void ont efi 數組 開一個數組p 若dp[i-1][j]<dp[i-1][j-a[i]]+a[i]時就記錄下p[j]=a[i];表示此時放進一個軌道 遞歸輸出p #includ

UVA 10048 Audiophobia floyd

blog case ret https amp set continue turn 鏈接 題目鏈接: https://vjudge.net/problem/UVA-10048 中文大意: 現在有一個無向圖,有C個點,S個邊,Q個詢問。 每條邊有一個權值代表噪音值。若想從u走

POJ2774Long Long Message(後綴數組)

火車票 字符串 cat ios swa char 們的 same getc 【POJ2774】Long Long Message(後綴數組) 題面 Vjudge Description Little cat在Byterland的首都讀物理專業。這些天他收到了一條悲傷地信息:

UVa 572 - Oil Deposits DFS聯通塊問題

傳送門 nbsp pro oid sizeof ems amp ++ .net 題目鏈接 題目大意: 求圖中@連通塊的個數,只要兩個@相鄰就算它們是連通的(斜方向的也算相鄰) #include <stdio.h> #inclu