問題解決:数のC ++マルチセットを使用して、行動の問題解決を消去
被写体の同じタイプ:https://www.cnblogs.com/cstdio1/p/11377028.html
次のようにC ++のコードは次のとおりです。
#include <ビット/ STDC H ++> 使用して 名前空間STD; のconst int型 N = 10000 + 5。 、 INT N-、Kにおいてlen = 0 ; int型A [N]; 多重集合 < INT > S; // マルチセットと重複含みます要素が存在する INT メイン() { ながら(1 ){ scanfの(" %のD "、およびN-する); // なお、データ入力形式 チャー C = GETCHAR(); [LEN] = N-; s.insert([ LEN]); LEN ++; もし(C == ' ')区切り。 } CIN >> K。 ソート( + LEN)。 以下のために(int型 i = 0 ; iがLEN <I ++は{) s.erase(s.find([I]))を、用(int型 J = I + 1、J <LEN; J ++ ){ s.erase(s.find([J]))。もし(s.count(KA [I] - [J])){ COUT << " 真" << ENDL。 リターン0 } ; s.insert([J])。 } s.insert([I])。 } coutの << " 偽" << てendl; リターン 0 ; }