ZOJ Problem Set - 1201 Inversion

来源:互联网 发布:国外远程会诊医院数据 编辑:程序博客网 时间:2024/06/05 20:43

ZOJ Problem Set - 1201
Inversion

#include<stdio.h>#include<string.h>int main(void){    int n, i, j;    char ch;    int serial[55],begin[55];    while (scanf("%d", &n) == 1 && n)    {        getchar();        scanf("%c", &ch);        for (i = 1; i <= n; ++i)            scanf("%d", &serial[i]);        switch (ch)        {        case 'P':            for (i = 1; i <= n; ++i)            {                int count = 0;                for (j = 1;; ++j)                {                if (serial[j] > i) count++;                if (serial[j] == i) break;                }                printf("%d", count);                if (i != n) printf(" ");                else        printf("\n");            }            break;        case 'I':            memset(begin, 0, sizeof(begin));            for (i = 1; i <= n; ++i)            {                int count = 0;                for (j = 1; j <= n; ++j)                {                    if (begin[j] == 0) count++;                    if (count == serial[i]+1)                       {begin[j] = i; break;}                }            }            for (i = 1; i <= n; ++i)            {                printf("%d", begin[i]);                if (i != n)  printf(" ");                else         printf("\n");            }            break;        default:  break;        }    }    return 0;}
0 0
原创粉丝点击