牛客網 華為機試 017

2021-08-03 13:38:06 字數 1094 閱讀 1539

開發乙個座標計算工具, a表示向左移動,d表示向右移動,w表示向上移動,s表示向下移動。從(0,0)點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。

輸入:合法座標為a(或者d或者w或者s) + 數字(兩位以內)

座標之間以;分隔。

非法座標點需要進行丟棄。如aa10;  a1a;  $%$;  yad; 等。

下面是乙個簡單的例子 如:

a10;s20;w10;d30;x;a1a;b10a11;;a10;

處理過程:

起點(0,0)

+   a10   =  (-10,0)

+   s20   =  (-10,-20)

+   w10  =  (-10,-10)

+   d30  =  (20,-10)

+   x    =  無效

+   a1a   =  無效

+   b10a11   =  無效

+  乙個空 不影響

+   a10  =  (10,-10)

結果 (10, -10)

一行字串

最終座標,以,分隔

示例1

a10;s20;w10;d30;x;a1a;b10a11;;a10;

10,-10

思路一:利用find找到第乙個;的位置,提取;前的字串進行分析,然後保留剩下的再次迴圈

#include #include using namespace std;

bool move(string order, int &x, int &y)

//判斷數字是否有效

if (num.empty())

return false;

int step = stoi(num);

//判斷、執行移動指令

switch (order[0])

return true;

}int main()

cout << x << "," << y << endl;

} return 0;

}

牛客網 華為機試 020 牛客網

密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 示例1 021abc9000 021abc9abc1 021abc9000 02...

牛客網 華為機試 009

輸入乙個int型整數,按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數。輸入描述 輸入乙個int型整數 輸出描述 按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數 示例1 9876673 37689 思路 維護乙個陣列或者vector長度為10,下標0 9代表取得數字,值代表是否已經輸出...

牛客網 華為機試 015

輸入乙個int型的正整數,計算出該int型資料在記憶體中儲存時1的個數。輸入乙個整數 int型別 這個數轉換成2進製後,輸出1的個數 示例1 5 2 思路一 利用十進位制轉二進位制的方法,統計1的個數。事實證明這種方法是大錯特錯了,因為效率不高且沒有考慮負數的情況,負數補碼,完全不能這麼計算 inc...