zoukankan      html  css  js  c++  java
  • D. Little Artem and Dance---cf669D

    http://codeforces.com/problemset/problem/669/D

    题目大意: 有n对人 男生和女生 开始时  每个人的标号是(1,2,3,。。。n) 女生们围成一个圈  男生在外面围成一个圈  

    有q个操作  第一种情况是  如果x>0男生顺时针走x步  否则  逆时针走

    第二种情况是  男生现在对应的女生的编号如果是奇数  这个男生就跟对应的女生的编号是偶数的男生交换位置

    最后输出每个男生的编号

    分析:  我们可以想到 其实奇数编号的男生移动的是一样的   偶数也是

    我们就用两个参数 代表奇数编号的男生  和偶数编号的男生  的移动的位置数  

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<ctype.h>
    #include<math.h>
    #include<queue>
    #include<algorithm>
    #include<iostream>
    
    using namespace std;
    #define N 5000050
    const double ESP = 1e-8;
    #define INF 0x3f3f3f3f
    #define memset(a,b) memset(a,b,sizeof(a))
    int a[N],s[N];
    int main()
    {
        int n,q;
    
        while(scanf("%d %d",&n,&q)!=EOF)
        {
            int t=0;
            int v=0;
            int j,o;
            j=o=0;
            for(int i=0;i<q;i++)
            {
                scanf("%d",&t);
                if(t==1)
                {
                    scanf("%d",&v);
                    j+=v;
                    o+=v;
                }
                else
                {
                    if(j%2==0)
                        j++;
                    else
                        j--;
                    if(o%2==0)
                        o--;
                    else
                        o++;
                }
                j=(j+n)%n;
                o=(o+n)%n;
            }
            for(int i=0;i<n;i++)
            {
                if(i%2==0)
                {
                    a[i]=i+j;
                    a[i]=a[i]%n;
                    s[a[i]+1]=i+1;
                }
                else
                {
                    a[i]=i+o;
                    a[i]=a[i]%n;
                    s[a[i]+1]=i+1;
                }
            }
            for(int i=1;i<=n;i++)
            {
                printf("%d ",s[i]);
            }
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    第一周编程总结
    7-3 抓老鼠亏了还是赚了
    7-1 打印沙漏
    2019春第十二周作业
    2019春第十一周作业
    2019年春第十周作业
    第九周作业总结
    第八周作业总结
    第七周作业总结
    第六周作业
  • 原文地址:https://www.cnblogs.com/linliu/p/5442520.html
Copyright © 2011-2022 走看看