zd


私信TA

用户名:uq_55080596819

访问量:2004

签 名:

等  级
排  名 2403
经  验 2323
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:


练习一下STL的应用


注意事项:

最后需要判断temp是否为0 或者 1 , 这两种情况都不行。

参考代码:

#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
string s;
string t;
typedef long long ll;
typedef pair<char, int> ci;
map<char, int> m;
char a[1001];

struct Cmp {
	bool operator() (const ci & aa, const ci & bb) {
		return aa.second < bb.second;
	}
};

bool isprime(int x) {
	if (x == 2 || x == 3) return 1;
	int q = sqrt(x);
	for (int i = 2; i <= q; i++){
		if ( x % i == 0) return 0;
		if (i >= q) return 1;
	}
}

int main() {
	IOS;
	int ans = 0;
	cin >> a;
	for (int i = 0 ; i < strlen(a); i++) m[a[i]]++;
	vector<ci> total(m.begin(), m.end());
	sort(total.begin(), total.end(), Cmp());
	int temp = total[m.size()-1].second - total[0].second;
	if (isprime(temp) && temp != 0 && temp != 1) {
		cout << "Lucky Word" <<endl;
		ans = temp;
	}
	else {
		cout << "No Answer" <<endl;
	}
	cout << ans;
	return 0;
}


 

0.0分

1 人评分

  评论区

  • «
  • »