zoukankan      html  css  js  c++  java
  • CodeForces 668B Little Artem and Dance

    B. Little Artem and Dance
    time limit per test
    2 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Little Artem is fond of dancing. Most of all dances Artem likes rueda — Cuban dance that is danced by pairs of boys and girls forming a circle and dancing together.

    More detailed, there are n pairs of boys and girls standing in a circle. Initially, boy number 1 dances with a girl number 1, boy number 2dances with a girl number 2 and so on. Girls are numbered in the clockwise order. During the dance different moves are announced and all pairs perform this moves. While performing moves boys move along the circle, while girls always stay at their initial position. For the purpose of this problem we consider two different types of moves:

    1. Value x and some direction are announced, and all boys move x positions in the corresponding direction.
    2. Boys dancing with even-indexed girls swap positions with boys who are dancing with odd-indexed girls. That is the one who was dancing with the girl 1 swaps with the one who was dancing with the girl number 2, while the one who was dancing with girl number 3swaps with the one who was dancing with the girl number 4 and so one. It's guaranteed that n is even.

    Your task is to determine the final position of each boy.

    Input

    The first line of the input contains two integers n and q (2 ≤ n ≤ 1 000 0001 ≤ q ≤ 2 000 000) — the number of couples in the rueda and the number of commands to perform, respectively. It's guaranteed that n is even.

    Next q lines contain the descriptions of the commands. Each command has type as the integer 1 or 2 first. Command of the first type is given as x ( - n ≤ x ≤ n), where 0 ≤ x ≤ n means all boys moves x girls in clockwise direction, while  - x means all boys move x positions in counter-clockwise direction. There is no other input for commands of the second type.

    Output

    Output n integers, the i-th of them should be equal to the index of boy the i-th girl is dancing with after performing all q moves.

    Examples
    input
    6 3
    1 2
    2
    1 2
    
    output
    4 3 6 5 2 1
    
    input
    2 3
    1 1
    2
    1 -2
    
    output
    1 2
    
    input
    4 2
    2
    1 3
    
    output

    1 4 3 2


    先把1,2的位置确定了,

    别的数字的位置变动和1,2肯定是一样的

    #include <iostream>
    #include <string.h>
    #include <stdlib.h>
    #include <algorithm>
    #include <math.h>
    #include <stdio.h>
    
    using namespace std;
    #define MAX 1000000
    int n,q;
    int c[MAX+5];
    int x,y;
    int main()
    {
        scanf("%d%d",&n,&q);
        int a=1;int b=2;
        for(int i=1;i<=q;i++)
        {
           scanf("%d",&x);
           if(x==1)
           {
               scanf("%d",&y);
               a=(a+y+n)%n;
    		   if(a==0)
    			   a=n;
    		   b=(b+y+n)%n;
    		   if(b==0)
    			   b=n;
           }
           else
           {
               if(a&1) a+=1;
               else a-=1;
               if(b&1) b+=1;
               else  b-=1;
           }
        }
    	a-=1;
    	b-=2;
        for(int i=1;i<=n;i++)
        {
            if(i&1)
            {
                int pos=(i+a)%n;
                if(pos==0)
                    pos=n;
                c[pos]=i;
            }
            else
            {
                int pos=(i+b)%n;
                if(pos==0)
                    pos=n;
                c[pos]=i;
            }
        }
        for(int i=1;i<=n;i++)
        {
            if(i==n)
                printf("%d
    ",c[i]);
            else
                printf("%d ",c[i]);
        }
        return 0;
    
    }
    



  • 相关阅读:
    Spark面对OOM问题的解决方法及优化总结 (转载)
    spark rdd 宽窄依赖理解
    hive orc update
    hive sql 语句执行顺序及执行计划
    java 正则 贪婪匹配 匹配sql语句中的引号内容
    java 权重随机算法实现
    MySQL创建用户和加限权
    MySQL完整性约束
    MySQL基础操作与数据类型
    MySQL数据库初识
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228666.html
Copyright © 2011-2022 走看看