迫於生計之九度OJ 1033 1035

2021-07-05 03:33:15 字數 1550 閱讀 8060

九度oj 1033

驗證3n+1問題

給你n個數,記錄每個數到1過程中出現的數字,如果只出現過一次,就輸出(逆序的)

思路:set 直接搞,丟進set後,set.count(a[i])==1的就丟進陣列裡面然後倒著輸出就好。

#include#include#include#include#include#includeusing namespace std;

int a[505];

int ans[505];

int main()

for(int i=1;i<=n;i++)

else}}

int cnt=0;

for(int i=n;i>=1;i--)

}for(int i=0;i

題目1035:找出直系親屬

時間限制:1 秒

記憶體限制:32 兆

特殊判題:

提交:2369

解決:929

題目描述:如果a,b是c的父母親,則a,b是c的parent,c是a,b的child,如果a,b是c的(外)祖父,祖母,則a,b是c的grandparent,c是a,b的grandchild,如果a,b是c的(外)曾祖父,曾祖母,則a,b是c的great-grandparent,c是a,b的great-grandchild,之後再多一輩,則在關係上加乙個great-。

輸入:輸入包含多組測試用例,每組用例首先包含2個整數n(0<=n<=26)和m(0

輸出:如果詢問的2個人是直系親屬,請按題目描述輸出2者的關係,如果沒有直系關係,請輸出-。

具體含義和輸出格式參見樣例.

樣例輸入:3 2

abccde

efgfa

be0 0

樣例輸出:

great-grandparent

-

思路:顯然可以dfs建好樹後然後求深度。然而並不會。。。

我的思路:把n個輸入當做有向圖的邊來建圖,abc代表a->b a->c有一條權值為1的邊,然後圖建好後,floyd跑一遍最短路求出任意兩點的距離,m個詢問進來後,直接查詢a->b或者b->a的權值就好,分分類輸出就行了。主要是點少。。。

#include#include#include#include#include#includeusing namespace std;

int dis[105][105];

void floyd()}}

}string s;

int n,m;

int main()

else}}

for(int i=1;i<=n;i++)

floyd();

while(m--)

cout<<"grandchild"cout<<"grandparent"<

九度 OJ 之 題目1202 排序

題目描述 對輸入的n個數進行排序並輸出。輸入 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。每組測試資料的結果佔一行。樣例輸入 4 1 4 3 2 樣例輸出 1 2 3 4 include...

九度OJ教程31 哈夫曼樹之搬運水果

九度oj教程31 哈夫曼樹之搬運水果 木有優先佇列,利用兩趟簡單選擇排序來實現的演算法 c語言坑啊 include define maxs 10005 由於c裡面沒有優先佇列,故,用簡單選擇排序兩次來模擬哈夫曼樹的帶權路徑長度 int main for i 1 i n i scanf d h i s...

九度OJ 08浙大真題之《魔咒詞典》

include include include define maxs 100002 typedef struct ee e dict1 maxs dict2 maxs int cmp1 const void a,const void b int cmp2 const void a,const vo...