陈新


私信TA

用户名:3173682300

访问量:4386

签 名:

等  级
排  名 733
经  验 3717
参赛次数 3
文章发表 19
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<set>
using namespace std;
struct node
{
	char a;
	char b;
	int c;
	bool operator<(const node &next) const
	{
		return c<next.c;		
	}
};
char am[8]={'J','Q','K','A','d','c','h','s'};
char sm[128];
string str;
multiset<node> ms;
int main()
{
	int j=1;
	node ts;
	for(int i='1';i<='9';i++,j++)
		sm[i]=j;
	for(int i=0;i<8;i++,j++)
		sm[am[i]]=j;
	cin>>str;
	for(int i=0;i<str.size();i+=2)
	{
		ts.a=str[i];
		ts.b=str[i+1];
		ts.c= sm[ts.a]+sm[ts.b];
		ms.insert(ts);
	}
	int k=str.size()/2-1;
	for(multiset<node>::iterator it=ms.begin();it!=ms.end();it++)
	{
		if(k--)
			cout<<it->a <<it->b <<" ";
		else
			cout<<it->a <<it->b;
	}
	cout<<endl;
	return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区