Cod sursa(job #849498)

Utilizator Marius_mFMI-M2 Marius Melemciuc Marius_m Data 7 ianuarie 2013 01:41:51
Problema Schi Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
/*
 * =====================================================================================
 *
 *       Filename:  schi.cpp
 *
 *    Description:  https://infoarena.ro/problema/schi
 *
 *        Version:  1.0
 *        Created:  01/07/2013 01:27:28 AM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  YOUR NAME (), 
 *   Organization:  
 *
 * =====================================================================================
 */

#include<iostream>
#include<cstdio>

using namespace std;

class Schi
{
	int N;
	int* v; // dupa solve() , v va fi vectorul solutie
	FILE *in,*out;
public:
	Schi();
	~Schi();
	void solve();
	void print();
};

Schi::Schi()
{
	in = fopen("schi.in","r");
	out = fopen("schi.out","w");
	fscanf(in,"%d",&N);
	v = new int[N + 1];
}

void Schi::solve()
{
	int primul;
	for(int i = 1 ; i <= N ; i++)
	{
		fscanf(in,"%d",&v[i]);
		primul = v[i];
		if(v[i] != i)
		{
			for(int j = i ; j > primul ; j--)
				v[j] = v[j - 1];
			v[primul] = i;
		}
	}	
}

void Schi::print()
{
	for(int i = 1 ; i <= N ; i++)
		fprintf(out,"%d\n",v[i]);
}

Schi::~Schi()
{
	delete [] v;
	fclose(in);
	fclose(out);
}

int main()
{
	Schi S;
	S.solve();
	S.print();
	return 0;
}