【HDU - 5688 】Problem D(STL+map)

题干:

度熊所居住的 D 国,是一个完全尊重人权的国度。以至于这个国家的所有人命名自己的名字都非常奇怪。一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字。例如,如果一个人名字是 ACM,那么 AMC, CAM, MAC, MCA, 等也都是这个人的名字。在这个国家中,没有两个名字相同的人。 

度熊想统计这个国家的人口数量,请帮助度熊设计一个程序,用来统计每一个人在之前被统计过多少次。 

Input

这里包括一组测试数据,第一行包含一个正整数NN,接下来的NN 行代表了 NN 个名字。NN 不会超过100,000100,000,他们的名字不会超过40位. 

Output

对于每输入的一个人名,输出一个整数,代表这个人之前被统计了多少次。

Sample Input

5
ACM
MAC
BBA
ACM
BAB

Sample Output

0
1
0
2
1

解题报告;

    想找个办法水掉排序,这样复杂度会很低,但是失败了。。。老老实实用排序。

AC代码:

#include<bits/stdc++.h>

using namespace std;
struct Node {
	int bk[30];
	bool operator < ( const Node b)const {
		bk[0]<b.bk[0];
	}
}tmp1,tmp2;
int main()
{
	char s[50];
	int n,len;
//	freopen("in.txt","r",stdin);
	map<string,int> mp;
/*	map<Node,int> mp;
	map<Node,int> ::iterator it;
	
	map<int, int> mpp;
	mpp[1]++;
	mpp[1]++;
	cout<<"%%%%"<<mpp[1]<<endl;
	

	tmp1.bk[1]=2;
	tmp2.bk[1]=2;
	it = mp.begin();
	
	//mp[tmp1]++;
	mp.insert(make_pair(tmp1,0) );
	cout<<mp[tmp1]<<endl;
	mp[tmp2]++;
	cout<<mp[tmp1]<<endl;
	for(; it!=mp.end(); it++)
	cout<< it->second <<endl;
	cout<<"hhhhhhhh"<<endl;
*/
	cin>>n;
	
	while(n--) {
		Node tmp ;
		scanf("%s",s);
		len = strlen(s);
		sort(s,s+len);
		printf("%d\n",mp[s]);
		mp[s]++;
		/*for(int i = 0 ; i<len; i++) {
			tmp.bk[s[i]-'a']++;
		}
		printf("%d\n",mp[tmp]);
		mp[tmp]++;
		*/
	}
	
	return 0 ;
}

 

全部评论

相关推荐

行云流水1971:优化后简历(以 “后端开发岗” 为目标) 基本信息 姓名:XXX | 电话:XXX | 邮箱:XXX 求职意向:后端开发工程师 | 意向城市:XXX 教育经历 2023.09-2027.07 XX 大学 | 计算机科学与技术 | 本科 核心课程:Java 程序设计、数据库原理、计算机网络、数据结构(成绩均 85+) 技能关联:掌握 Java 基础语法、MySQL 增删改查,为后端开发奠定技术基础 项目经历 项目 1:小说推荐 - 大数据智能推荐平台 | 后端开发 | 2025.09-2025.12 技术栈:Java、SpringBoot、MySQL、Redis、Kafka 核心动作: 参与用户行为数据采集模块开发,用 Kafka 实现日志数据异步传输,峰值吞吐量提升 40%; 基于 MySQL 设计用户 - 小说关联表,配合 Redis 缓存热门推荐列表,页面响应时长从 300ms 缩短至 120ms; 成果:支撑日均 1000 + 用户访问,推荐内容点击率较初始版本提升 25%。 项目 2:在线博客 - 个性化博客分享平台 | 后端开发 | 2025.03-2025.06 技术栈:Java、SpringBoot、MyBatis、MySQL 核心动作: 开发博客发布 / 编辑接口,通过 MyBatis 实现数据持久化,接口成功率达 99.8%; 设计用户权限控制逻辑,区分普通用户 / 管理员操作权限,避免非法内容发布; 成果:完成 5 个核心功能模块开发,实现博客内容的全流程管理。 技能证书 技术栈:熟练使用 Java、SpringBoot、MyBatis 进行后端开发;掌握 MySQL 数据库设计与优化、Redis 缓存应用 工具:Git 版本管理、Postman 接口测试 自我评价 具备 Java 后端开发基础,参与 2 个完整项目的后端模块开发,能独立完成接口编写、数据持久化等工作;熟悉 SpringBoot 等主流框架,可快速上手企业级开发流程,具备良好的代码规范与逻辑思维。 需要我帮你补充项目的量化成果细节(比如接口性能、用户数据等)吗?若需要更精准的岗位适配优化,可私信沟通。
点赞 评论 收藏
分享
牛客66512506...:那个百度acg是不是个小哥啊,老是问些底层问题狠狠为难,然后kpi
哪些公司在招寒假实习?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务