L2 005 集合相似度 set的使用

2021-07-28 18:04:36 字數 1446 閱讀 4993

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者

陳越

給定兩個整數集合,它們的相似度定義為:nc/nt*100%。其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。

輸入格式:

輸入第一行給出乙個正整數n(<=50),是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整數m(<=104),是集合中元素的個數;然後跟m個[0, 109]區間內的整數。

之後一行給出乙個正整數k(<=2000),隨後k行,每行對應一對需要計算相似度的集合的編號(集合從1到n編號)。數字間以空格分隔。

輸出格式:

對每一對需要計算的集合,在一行中輸出它們的相似度,為保留小數點後2位的百分比數字。

輸入樣例:

3

3 99 87 101

4 87 101 5 87

7 99 101 18 5 135 18 99

21 2

1 3

輸出樣例:
50.00%

33.33%

糾結了半天 原來直接set模擬就滿分....眼高手低啊.....

記錄一下set的簡單函式

/**

tips

指標和迭代器是有很大差別的,雖然他們表現的行為相似,但是本質是不一樣的!

迭代器是乙個類模板 模擬過載了指標的一部分操作

一下是關於set的幾個常用函式

begin()

end()

clear()

empty()

size()

count() //某個數存在返回1 否則返回0

find() //找某個數 存在返回位置 不存在返回end(), end()為空

erase(iterator) //刪除迭代器iterator指向的值

erase(key_value) //刪除鍵值key_value的值

erase(first,second) //刪除迭代器first和second之間的值

**/#include using namespace std;

sets[55];

void check(int x,int y)

}printf("%.2lf%%\n",(double)c/t*100.0);

}int main()

}scanf("%d",&k);

for(i=1; i<=k; i++)

}return 0;

}

L2 005 集合相似度 set

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。...

L2 005 集合相似度(set)

給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入格式 輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整數m 1...

L2 005 集合相似度 set使用)

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。...