Pagini recente »
Istoria paginii utilizator/marutu
|
Cod sursă (job #585025)
Cod sursă (job
#585025)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream in("bart.in");
ofstream out("bart.out");
int n;
vector<int> sir;
queue<int> rezerva;
int ver(int x)
{
//cout<<x<<'\n';
rezerva.push(x);
int m=sir.size();
char a;
for(int i=1; i<m && in>>a; i++)
{
x=a;
n--;
rezerva.push(x);
if(sir[i]!=x)
return 1;
}
return 0;
}
void copiere()
{
while(!rezerva.empty())
{
sir.push_back(rezerva.front());
rezerva.pop();
}
}
void afis()
{
for(int i=0; i<sir.size(); i++)
{
char a=sir[i];
out<<a;
}
out<<'\n';
}
void intrare(char a)
{
int x;
x=a;
n--;
if(sir.empty())
sir.push_back(x);
else
{
if(sir[0]==x)
{
int k=ver(x);
if(k==1)
copiere();
}
else
sir.push_back(x);
}
//afis();
}
int main()
{
int j=0;
char a;
while(in>>a)
intrare(a);
afis();
return 0;
}