素數鍊錶
time limit: 1000ms memory limit: 65536kb
problem description
我們定義素數鍊錶為元素全部是素數的鍊錶。
給定乙個初始含有 n 個元素的鍊錶,並給出 q 次刪除操作,對於每次操作,你需要判斷鍊錶中指定位置上的元素,如果元素存在且不是素數則刪除。
在所有操作完成後你還需要檢查一下最終鍊錶是否是乙個素數鍊錶。
input
輸入資料有多組。第 1 行輸入 1 個整數 t (1 <= t <= 25) 表示資料組數。
對於每組資料:
output第 1 行輸入 2 個整數 n (1 <= n <= 50000), q (1 <= q <= 1000) 表示鍊錶初始元素數量和操作次數
第 2 行輸入 n 個用空格隔開的整數(範圍 [0, 1000])表示初始鍊錶
接下來 q 行,每行輸入 1 個整數 i (1 <= i <= 50000),表示試圖刪除鍊錶中第 i 個元素
對於每組資料:
所有輸出均不包括引號。先輸出 1 行 "#c",其中 c 表示當前是第幾組資料
對於每次刪除操作,根據情況輸出 1 行:
如果要刪除的位置不存在元素(位置超出鍊錶長度),則輸出 "invalid operation"
如果要刪除的位置存在元素且此位置的元素是非素數,則刪除元素並輸出 "deleted x",其中 x 為成功刪除的數(必須為非素數才能刪除)
如果要刪除的位置存在元素且此位置的元素是素數,則輸出 "failed to delete x",其中 x 為此位置上的數
刪除操作全部進行完畢後,則還需判斷該鏈表現在是否為乙個素數鍊錶。如果鍊錶非空且是素數鍊錶,則輸出 "all completed. it's a prime linked list",否則輸出 "all completed. it's not a prime linked list"
example input
2 1 2
0 5
1 6 3
1 2 3 3 4 5
1 1
4example output
invalid operation
deleted 0
all completed. it』s not a prime linked list
deleted 1
failed to delete 2
deleted 4
all completed. it』s a prime linked list
hint
推薦直接複製貼上輸出語句字串到你的**中,以防手打敲錯。
鍊錶中第 1 個元素的位置為 1,第 2 個元素的位置為 2,以此類推。
author
「2016級《程式設計基礎(b)ii》期末上機考試-第一場」blue
學長題解:
題目坑點:因為這個題是鍊錶題,所以卡時間卡的厲害,首先判斷素數要用到開平方,其次鍊錶在用完之後要釋放這裡容易 runtime error,還有初始鍊錶時要一下子建下來,乙個乙個插入會超時,其次鍊錶長度top要用引用值,不然無法直接改變,1,0不是素數要特判,與此類似的還有螺旋填數,要把矩陣初始為-1,否則一直wr,最好加乙個列印函式,每進行一次操作就列印一次,盡量把操作都分解為函式。先寫這些吧
下面是ac**
#include
#include
using namespace std;
struct node
;bool pan(int num)
}return f;
}void insert(node*head,int num)
node* build(node*head,int n)
return head;
}void show(node*head)
coutif(!pan(p->data))
else
printf("failed to delete %d\n",p->data);
//show(head);
}void zui(node*head,int n)}}
if(f)
printf("all completed. it's a prime linked list\n");
else
printf("all completed. it's not a prime linked list\n");
}else
printf("all completed. it's not a prime linked list\n");
}int main()
//show(head);
printf("#%d\n",o);
int top = n;
while(q--)
else
}zui(head,top);
node*p = head->next;
//node
*q; while(p)
}// show(head);
return
0;}
生活感想 期末考試
期末考試成績出來了 差強人意 有所進步 但還是打不到最好的水平 小花在旁邊長吁短嘆 真受不了 我最近不想談成績 一談成績就容易惱 但是現在成績出來了 也該寫寫 現在心裡平靜了很多 總而言之 除了物理壓力很大 粗心錯了一道大題12分嗷嗷嗷要知道我和小花差了1.8分就八個人啊tut 其他的各項還好 數學...
期末考試題
1.假設屬性income的最大最小值分別是16000元和29000元。利用最大最小規範化的方法將屬性的值對映到0至1的範圍內。對屬性income的26000元將被轉化為 0.769 26000 16000 29000 16000 0.769 2.由8人組成的科研團隊的工資分別為 10,16,20,2...
757 期末考試
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 馬上就要考試了,小t有許多作業要做,而且每個老師都給出來了作業要交的期限,如果在規定的期限內沒 交作業就會扣期末成績的分數,假設完成每門功課需要一天的時間,你能幫助小t扣除的分數最小嗎?輸入輸入n,表示n門功課 n 2000 接...