細節打掛一堆。。。。。。。。。
其實還挺好想的。。。。
先將每個人的答案字串轉為二進位制數,0表示n,1表示y。
分情況討論如下:
全是第三類人的話,只用滿足答案對應的二進位制串沒有出現過,這個用map就能維護,注意列舉要到最大值,但因為不同的串和反串最多100個,所以不用列舉多少就能找到答案。
兩種人都有,那麼兩個答案異或的結果一定是(1《方法與上面那種一樣,但需要保證選的串的反串未出現過。
#includeusing namespace std;
typedef long long ll;
const ll maxn=51;
ll n,m,k1,k2;
mapmp;
ll a[maxn];
ll a1[maxn][maxn];
char ans[maxn];
ll que1[maxn],top1,que2[maxn],top2;
int main()
s.insert(a[i]);
} sort(que1+1,que1+top1+1);
sort(que2+1,que2+top2+1);
ll flag=0;
if(!k1&&!k2)
} if(!flag) puts("-1");
return 0;
} if(k1!=0&&k2!=0)
}} if(!flag) puts("-1");
return 0;
} if(!k1&&k2)
if(!flag) puts("-1");
return 0;
} if(k1&&!k2)
if(!flag) puts("-1");
return 0;
}}
南陽OJ 47 過河問題
對於這一類問題,我們首先想到的就是用貪心演算法。我們可以讓時間最長的兩個人過河,但是怎麼做才能把時間變為最短呢?是用時間最短的人乙個乙個送過去,還是怎麼樣呢?其實,我們可以考慮兩種方法 1.讓時間最短的人乙個乙個的送過去 2.先要兩個時間最短的過去,然後乙個回來送電燈,然後讓兩個時間最長的人過去,再...
01trie模板 (校內OJ
3827 the xor largest pair woj 描述在給定的 n 個整數 a1,a2,an 中選出兩個進行異或運算,得到的結果最大是多少?一道基礎的 01串trie 只知道trie,根據二進位制的性質,取反匹配,不難想到解法 最後注意邊加數邊去最大匹配值 有順序地列舉 這樣效率 nlog...
東華複試OJ 47 Anagrams問題
anagrams指的是具有如下特性的兩個單詞 在這兩個單詞當中,每乙個英文本母 不區分大小寫 所出現的次數都是相同的。例如,unclear 和 nuclear rimon 和 minor 都是anagrams。編寫乙個程式,輸入兩個單詞,然後判斷一下,這兩個單詞是否是anagrams。每乙個單詞的長...