1 条题解
-
0
赋不重名
根据题意,只需要判断"="左边没有出现过两个完全一样的字符串即可。
根据数据量,两两直接比较会超时。所以可以采用一些高效的数据结构,比如set/unordered_set,这样的时间复杂度为 / ,代码如下:
void Solve() { int n; cin >> n; vector<string> str(n); unordered_set<string> S; bool flag = true; for(int i=0; i<n; i++) { string s; cin >> s; int idx = s.find('='); assert(idx > 0); str[i] = s.substr(0, idx); if(S.count(str[i])) flag = false; S.insert(str[i]); } if(flag) cout << "yES\n"; else cout << "nO\n"; }
- 1
信息
- ID
- 292
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 66
- 已通过
- 24
- 上传者