Cod sursa(job #643506)

Utilizator idomiralinIdomir Alin idomiralin Data 3 decembrie 2011 19:48:09
Problema Order Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
# include <cstdio>

using namespace std;

struct nod
{
       int info;
       nod *urm;
}*prim, *ultim, *p, *q;

int i, n, ct, ct1, rez[30005];
int main()
{
    
    freopen("order.in","r",stdin);
    freopen("order.out","w",stdout);
    
    scanf("%d",&n);
    for (i = 1; i <= n; i++)
    {
        if (!prim)
        {
                  prim = new nod;
                  prim -> info = i;
                  ultim = prim;
                  }
        else
        {
            p = new nod;
            p -> info = i;
            ultim -> urm = p;
            ultim = p;
            }
    
        if (i == n) ultim -> urm = prim;
        
    }
    for (i = 1; i <= n; i++)
    {
        ct1 = 0;
        if (i == 1)
        {
           while (ct1 < i) 
           {p = p -> urm; ct1++;}
           }
        else
        {
            while (ct1 < i - 1)
            {p = p -> urm; ct1++;}
           }
        rez[++ct] = p -> urm -> info;
        q = p -> urm;
        p -> urm = q -> urm;
        delete(q);
        }
    
    for (i = 1; i <= ct; i++)
        printf("%d ",rez[i]);

return 0;
}