沐里纷纷


私信TA

用户名:Epoch

访问量:64347

签 名:

我不会算法

等  级
排  名 38
经  验 12991
参赛次数 1
文章发表 172
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

不会算法

解题思路:

朋友,买挂吗?

注意事项:

挂虽然好,但是还是不能太暴力,第一次内存时间双超...就别先全排出来再find了,太浪费了...边排边比对,对上就输出吧...

参考代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <string>
#include <stack>
#define N 20

using namespace std;

vector<char> letters;

bool cmp(char a, char b)
{
	return a < b;
}

int main(int argc, char** argv)
{
	string s;
	cin >> s;
	vector<char> lettersBak;
	for (int i = 0; i < s.length(); i++)
		letters.push_back(s.at(i));
	lettersBak = letters;
	sort(letters.begin(), letters.end(), cmp);
	int index = 0;
	do
	{
		if (letters == lettersBak)
			break;
		index += 1;
	} while (next_permutation(letters.begin(),letters.end()));
	cout << index << endl;
	return 0;
}


 

0.0分

0 人评分

  评论区