Nu aveti permisiuni pentru a descarca fisierul grader_test65.ok
Cod sursa(job #502514)
| Utilizator | Data | 19 noiembrie 2010 21:15:48 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 1.24 kb |
#include <fstream>
#include <sstream>
#include <cstdlib>
using namespace std;
//ifstream fi("secvsir.in");
ifstream fi("permutari.in");
//ofstream fo("secvsir.out");
ofstream fo("permutari.out");
bool p[501];
string s, si, sa, sb;
//stringstream ssi;
int n, i, nc, a, b;
int ps, pc;
int main () {
fi >> n;
if (n == 1) {
fo << 1;
return 0;
}
if (n == 2) {
fo << 12;
return 0;
}
s = "12"; p[12] = true;
for (i = 3; i <= n; i++)
if (not p[i]) {
//ssi.seekp(ios_base::beg);
//ps = ssi.tellp(); // pozitia de scriere
stringstream ssi("");
ssi << i;
//ps = ssi.tellp(); // pozitia de scriere
//ssi.seekg(ios_base::beg);
//pc = ssi.tellg(); // pozitia de citire
ssi >> si;
//delete ssi;
//pc = ssi.tellg(); // pozitia de citire
s += si; nc = s.length();
if (i <= 99) {
sa = s.substr(nc-3,2); sb = s.substr(nc-3,3);
}
else {
sa = s.substr(nc-5,3); sb = s.substr(nc-4,3);
}
a = atoi(sa.c_str()); b = atoi(sb.c_str());
p[a] = p[b] = p[i] = true;
}
fo << s << '\n';
return 0;
}
//4748
// --
//4748 i
// --
//4748
// ---
//
//127128
// ---
//127128
// ---
