正经题解|账号安全系数
2024-05-27 16:23:14
发布于:浙江
48阅读
0回复
0点赞
题目分析
结构体排序
对于每个账号,通过登录日志,统计登录的地区数量。我们可以建一个结构体,包含用户名与地区。建一个结构体数组存储所有的日志,接着按照用户名从小到大排序。因为题目要求按用户名的字典序从小到大输出。统计地区数量,排好序后的日志可以视为按用户分组了,每组的第一个地区作为基准值,与组中的其他地区进行比较,统计地区数量。
输出地区数量为 的用户即可。
AC代码
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct node {
string u,d;
}a[1010];
bool cmp(node x,node y) {
return x.u < y.u;
}
int main() {
int n;
cin >> n;
for(int i=1;i<=n;i++) {
cin >> a[i].u >> a[i].d;
}
sort(a+1,a+1+n,cmp);
string u = a[1].u;
string d = a[1].d;
int cnt = 0;
for(int i=1;i<=n;i++) {
if (a[i].u == u) {
if (a[i].d != d) {
cnt++;
}
}else {
if(cnt == 0) {
cout << u << endl;
}
u = a[i].u;
d = a[i].d;
cnt = 0;
}
}
if(cnt == 0) {
cout << u << endl;
}
return 0;
}
复杂度分析
这里空空如也
有帮助,赞一个