zoukankan      html  css  js  c++  java
  • 第二届河南省大学生程序设计竞赛 奇特的艺术品

    奇特的艺术品
    Dr.Kong设计了一件艺术品,该艺术品由N个构件堆叠而成,N个构件从高到低按层编号依次为1,2,„„,N。艺术品展出后,引起了强烈的反映。Dr.Kong观察到,人们尤其对作品的高端部分评价甚多。
    狂热的Dr.Kong一激动,对组成该艺术品的N个构件重新组合,比如:把第6层到第12层的构件搬下来,想一想,然后整体放到剩下构件的第7层下面;过一会儿,又把第2层到第9层的构件搬下来,整体放到剩下构件的第1层下面等等。于是,Dr.Kong在进行了连续若干次“搬来搬去”后,还是这N个构件,又诞生了一件新的艺术品。
    编程:请输出新的艺术品最高十层构件的编号。
    【标准输入】
    第一行: N K 表示构件的总数和“搬来搬去”的总次数
    第2~K+1行:A B C 表示要搬动的构件(即从第A层到第B层)整个放在第C层下面;
    如果C等于0,则要搬动的构件将放到最高层。
    【标准输出】
    由十行组成,分别为组成新艺术品的第一层到第十层构件的编号。
    【约束条件】
    (1) 10≤N≤20000 1≤k≤1000
    (2) 1≤A≤B≤N, 0≤C≤N-(B-A+1)
    【 样 例 】
    标准输入
    标准输出
    13 3 6 12 1 2 9 0 10 13 8
    6 7 8 9 10 11 12 2 3 4

    #include<stdio.h>
    #include<stdlib.h>
    struct Node{
        int data;
        Node *next;
    };
    int main()
    {
        int i,a,b,c,N,K,cnt;
        Node *head,*p,*h,*e,*t;
        scanf("%d%d",&N,&K);
        head=(Node *)malloc(sizeof(Node));
        head->next=NULL;
        head->data=0;
        for(i=N;i>=1;i--){
            p=(Node *)malloc(sizeof(Node));
            p->next=NULL;
            p->data=i;
            p->next=head->next;
            head->next=p;
        }
        for(i=0;i<K;i++){
            scanf("%d%d%d",&a,&b,&c);
            for(cnt=0,p=head;cnt<a-1;p=p->next,cnt++);
            h=p;
            t=h->next;
            for(cnt=0,p=head;cnt<b;p=p->next,cnt++);
            e=p;
            h->next=e->next;
            for(cnt=0,p=head;cnt<c;p=p->next,cnt++);
            e->next=p->next;
            p->next=t;
    
        }
        for(cnt=0,p=head->next;cnt<10;p=p->next,cnt++)
            printf("%d ",p->data);
        printf("\n");
        while(1);
        return 0;
    }

    刚开始怎么看题就是看不懂,用手工推倒也推不出来题目给的例子,最后上网搜了下,结果不知是题目有问题还是我们理解错了,网上搜的是用数组,感觉用数组容易产生错误混乱,所以采用了链表!

  • 相关阅读:
    ansible语法
    hadoop本地模式安装及配置
    linux免密钥登录
    ansible配置文件
    ansible(安装)
    elasticsearch基本概念
    elasticsearch基本概念
    elasticsearch倒排索引介绍
    Flex tree展开节点问题!
    Oracle-Trigger-Insert tableA and tableB
  • 原文地址:https://www.cnblogs.com/shihuajie/p/3043546.html
Copyright © 2011-2022 走看看