九度OJ&北郵機試題(2011網院)
題目一、九度OJ-1177:查找
www.Bkjia.com
題目描述:
讀入一組字符串(待操作的),再讀入一個int n記錄記下來有幾條命令,總共有2中命令:1、翻轉 從下標為i的字符開始到i+len-1之間的字符串倒序;2、替換 命中如果第一位為1,用命令的第四位開始到最後的字符串替換原讀入的字符串下標 i 到 i+len-1的字符串。每次執行一條命令後新的字符串代替舊的字符串(即下一條命令在作用在得到的新字符串上)。
命令格式:第一位0代表翻轉,1代表替換;第二位代表待操作的字符串的起始下標int i;第三位表示需要操作的字符串長度int len。
輸入:
輸入有多組數據。
每組輸入一個字符串(不大於100)然後輸入n,再輸入n條指令(指令一定有效)。
輸出:
根據指令對字符串操作後輸出結果。
樣例輸入:
bac
2
003
112as
樣例輸出:
cab
cas
題目分析:
字符串問題,做了這幾個學校的機試題,發現總是靠字符串的模擬問題,這種題目不難,但是要細心,主要考查學生的基礎。
AC代碼:
/**
*@xiaoran
*字符串問題
*/
#include
#include
#include
題目二、九度OJ-1178:復數集合
www.Bkjia.com
題目描述:
一個復數(x+iy)集合,兩種操作作用在該集合上:
1、Pop 表示讀出集合中復數模值最大的那個復數,如集合為空 輸出 empty ,不為空就輸出最大的那個復數並且從集合中刪除那個復數,再輸出集合的大小SIZE;
2 Insert a+ib 指令(a,b表示實部和虛部),將a+ib加入到集合中 ,輸出集合的大小SIZE;
最開始要讀入一個int n,表示接下來的n行每一行都是一條命令。
輸入:
輸入有多組數據。
每組輸入一個n(1<=n<=1000),然後再輸入n條指令。
輸出:
根據指令輸出結果。
樣例輸入:
3
Pop
Insert 1+i2
Pop
樣例輸出:
empty
SIZE = 1
1+i2
SIZE = 0
題目分析:
題意不清楚,錯了n次,題目很簡單,可以優先隊列,也可以vectoe向量進行模擬,這裡給出兩種代碼,注意輸入到文件尾結束。
AC代碼:
/**
*@xiaoran
*自定義優先序列,過不了我也是醉了
*還是來排序吧
*/
#include
#include
#include