4 条题解
-
0
用二进制的位来表示字母
#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { // 注意:在C++中,主函数必须返回一个int类型 int n; cin >> n; vector<int> a(n), b(n); for (int i = 0; i < n; i++) { string word; cin >> word; b[i] = word.length(); for (char c : word) { a[i] |= 1 << (c - 'a'); } } int num = 0; for (int i = 0; i < a.size(); i++) { for (int j = i; j < a.size(); j++) { if ((a[i] & a[j]) == 0) { num = max(num, b[i] * b[j]); } } } cout << num << endl; return 0; }
信息
- ID
- 590
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 116
- 已通过
- 34
- 上传者