Titlul: Permuta Scris de: Adrian Budau din Februarie 27, 2016, 09:46:53 Aici se pot pune întrebări legate de problema Permuta (http://www.infoarena.ro/problema/Permuta) de la Clasa a 9-a (http://www.infoarena.ro/preoji2016/9) a concursului PreOJI 2016 (http://www.infoarena.ro/preoji2016).
Titlul: Răspuns: Permuta Scris de: Iancu Vlad din Septembrie 09, 2017, 17:35:21 puteti sa-mi spuneti ce e in neregula cu urmatoarea sursa?
<code> #include<iostream> #include<fstream> #include<math.h> #include<iomanip> using namespace std; ifstream fin("permuta.in"); ofstream fout("permuta.out"); //Logica:in vectorul b sunt mai intati elementele de pe pozitiile divizibile cu //2^0 apoi cele de pe pozitiile divizibile cu 2^1 //samd const int NMax=100000; int N; int a[NMax+5], b[NMax+5]; void Read() {for(int i=1;i<=N;i++) fin>>b; } void permuta() { int pw=1; int ind=1; while(pow(2,pw-1)<=N) {int i; for(i=pow(2,pw-1);i<=N;i+=pow(2,pw),ind++) a=b[ind]; pw++; } } int main(){ fin>>N; Read(); permuta(); for(int i=1;i<=N;i++) fout<<resetiosflags(ios::skipws)<<a<<' '; return 0;} </code> |