Pagini recente »
Istoria paginii runda/simulare_oni_2021/clasament
|
Cod sursă (job #676063)
|
Monitorul de evaluare
|
Istoria paginii runda/2020_9_sec/clasament
|
Cod sursă (job #290693)
Cod sursă (job
#290693)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("bizar.in");
ofstream g("bizar.out");
int i,a[100005],x,j,n,ok;
char ch,cfr[]="0123456789",b[100005];
void bizar(int m,int i)
{
for(int s=1;s<=n;s++)
cout<<a[s]<<" ";
cout<<'\n';
int j;
j=i+1;
int k;
while(a[j]!=-2)
{
if(a[j]==-1)
{
while(a[j]==-1)
{
bizar(a[j-1],j);
}
j--;
}
j++;
}
int h;
h=i;
for(k=1;k<=m;k++)
{
h++;
if(h==j)
h=i+1;
}
a[i-1]=a[h];
int FMM;
FMM=j;
n--;
for(k=i;k<=j;k++)
{
a[k]=a[FMM+1];
FMM++;
n--;
}
}
int main()
{
f.get(b,100005);
for(j=0;j<strlen(b);j++)
{
if(b[j]=='(')
a[++i]=-1;
else
if(b[j]==')')
a[++i]=-2;
else
if(strchr(cfr,b[j]))
{
x=(int)b[j]-48;
j++;
while(strchr(cfr,b[j]))
{
x=x*10+(int)b[j];
j++;
}
j--;
a[++i]=x;
}
}
n=i;
ok=1;
if(i==1)
g<<a[1];
else
{
for(i=1;i<=n;i++)
{
if(a[i]==-1)
{
bizar(a[i-1],i);
}
}
g<<a[1];
}
return 0;
}