私はRUN FAILED (exit value 1, total time: 493ms)
を取得しています。私は、ベクターがその中に配列から要素を持っているかどうかを確認しようとしたとき、私はそれを得る:ベクトルのstd :: find()でのエラー
プログラムの完全なコード:
#include <stdio.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define TESTING_FILE_IN
//#define TESTING_FILE_OUT
#define DEBUG
//#define SHOW_TIMING
vector<int> cycles;
int permutation[1001];
/*
*
*/
int main() {
#ifdef TESTING_FILE_IN
freopen("in.txt", "r", stdin);
#endif
int ind, startCycle, n, count, elemProc;
scanf("%d", &n); //Number of elements in the permutation
for (int i = 0; i < n; i++) {
cin >> permutation[i];
}
// Calculate cycles
startCycle = 1;
while (true) {
cycles.push_back(ind + 1);
elemProc++;
ind = permutation[ind] - 1;
if (ind == startCycle) {
cycles.push_back(startCycle);
cycles.push_back(-1);
count++;
for (int i = 0; i < n; i++) {
if (find(cycles.begin(), cycles.end(), permutation[i]) == cycles.end()) {
startCycle = permutation[i];
break;
}
}
}
if (elemProc == n)
break;
}
cout << count << endl;
for (int i = 0; i < cycles.size(); ++i) {
if (cycles[i] != -1)
cout << cycles[i] << " ";
else
cout << endl;
}
return 0;
}
私が行うコードの一部をコメントすると検索、それは構築し、大丈夫実行されます。あなたが私を助けてくれることを願っています。前もって感謝します。
感謝として、それらを定義することができます! –