計蒜客 程式設計競賽入門

2021-07-15 05:03:23 字數 1571 閱讀 3516

蒜頭君前幾天把最心愛的小麥手機摔壞了,新手機又要好幾天才能到貨,於是蒜頭君不得暫時用它珍藏已久的諾雞鴨非智慧型手機了。手機的儲存空間非常小,以至於未接來電、已接來電和已撥**都只能各自儲存最近的10條記錄。

蒜頭買了手機以後的未接來電、已接來電和已撥**記錄全部給出。機智的蒜頭能夠猜到這個手機使用了迴圈佇列來實現最近記錄的功能,不過它不會寫**(沒手怎麼寫π_π),於是它來求助正在演算法課程中過關斬將的你了。你能幫幫它嗎?

每條記錄包含兩個數字,第乙個數代表記錄型別,第二個數代表手機號碼。

其中0代表未接來電,1代表已接來電,2代表已撥**。

分3列輸出未接來電、已接來電、已撥**。

列之間用空格分割,後接**在最先輸出,不足10條用0佔位。不明白的話參考樣例輸出哈。

2   18270477699

1 10149800116

0 19906559817

1 16209018105

1 16804212234

2 19289130583

1 17982711123

0 10897630486

1 11860787674

0 15192777554

15192777554 11860787674 19289130583

10897630486 17982711123 18270477699

19906559817 16804212234 0

0 16209018105 0

0 10149800116 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

#include 

#include

#include

using

namespace

std;

const

int len = 10;

// 自定義迴圈佇列類,來實現題目要求的某一類通話列表的儲存

// 在程式中呼叫定義舉例如下:

// circular_queue q;

// circular_queue q[3];

class circular_queue

// 在隊尾插入元素,如果佇列長度超過限制(len=10)則將隊首元素彈出

// 呼叫方法舉例如下:

// q.add("hello world");

void add(string str)

}// 返回隊尾元素的值,如果佇列是空的,就按照題面要求返回乙個字串"0"

string get_tail() else

}// 彈出隊尾元素,如果佇列空則不進行操作

void pop_tail()

}};int main()

for (int i = 0; i < 10; ++i)

return

0;}

計蒜客 程式設計競賽入門

蒜頭的數學實在是太差了,於是老師把他關到小黑屋讓他閉門修煉。老師跟他一張紙,上面一排寫著1,2,3 n這n個數,中間用空白分隔。老師讓他在空白處填上加號或者減號。他讓蒜頭君求出一共有多少種加運算子的方法使得整個表示式的值為0,並輸出所有的方案。比如n 7時,1 2 3 4 5 6 7排成一排,一種插...

計蒜客 程式設計競賽入門

蒜頭最近在沉迷 尤其是人物關係複雜的言情 它看到的人物關係描述得很的麻煩的時候覺得非常蒜疼,尤其是人物關係裡有冗餘的時候。什麼是冗餘關係呢?這篇 裡有n句描述人物關係的句子,描述了n個人的關係。每條句子的定義是這樣的 x y 它的意思是 x認識y,y也認識x 我們認為 中的人物關係是具有傳遞性的,假...

計蒜客課程競賽入門 堆排序 流程記

堆實際上是一顆二叉樹,對於大根堆來說,它的特點就是父節點的值大於所有子節點的值。c 的stl中priority queue已經幫我們實現好了堆的資料結構,接下來我們一起學習並實踐如何實現乙個堆並用堆進行排序。priority queue是stl的queue這個標頭檔案中定義的資料結構,因此需要額外引...