CSU1323: ZZY and his little friends
生活随笔
收集整理的這篇文章主要介紹了
CSU1323: ZZY and his little friends
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
zzy養了一只小怪獸和N只凹凸曼,單挑的話每只凹凸曼都不是小怪獸的對手,所以必須由兩只凹凸曼合作來和小怪獸戰斗。凹凸曼A和凹凸曼B合作的戰斗力為他們戰斗力的異或值。現在由zzy從N只凹凸曼中選出兩只來和小怪獸戰斗。請問zzy能否選出兩只凹凸曼使他們能夠戰勝小怪獸(他們的戰斗力比小怪獸大)。
Input
輸入有多個例子,直到文件結束。 每個例子的第一行含兩個數N和M,表示有N(2<=N<=100000)只凹凸曼,小怪獸的戰斗力為M(0<M<=1000000000)。接著有一行N個數,每個數Ai(0<Ai<M)表示每只凹凸曼的戰斗力。
Output
對于每個例子輸出一行,如果能選出兩只凹凸曼使他們戰勝小怪獸輸出”YES”, 否則輸出”NO”(不含引號)
Sample Input
2 5 1 1 2 6 5 2
Sample Output
NO YES
1. 法1:暴力(排序后去重)
#include <iostream> #include <vector> #include <algorithm> using namespace std;int main(){int m, n;while (cin >> n >> m){vector<int> nums(n);int cnt = 0;for (int i = 0; i < n; ++i){int t;cin >> t;nums[i] = t;}sort(nums.begin(), nums.end());int sz = unique(nums.begin(), nums.end()) - nums.begin();// unique 操作必須經過排序,因其只能去除,相鄰重復的元素for (int i = 0; i < sz; ++i){for (int j = i + 1; j < sz; ++j){if ((nums[i] ^ nums[j]) > m)++cnt;}}cout << cnt << endl;}return 0; }轉載于:https://www.cnblogs.com/mtcnn/p/9423631.html
總結
以上是生活随笔為你收集整理的CSU1323: ZZY and his little friends的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4 weekend110的hdfs下载
- 下一篇: 火车出站 模拟栈