zoukankan      html  css  js  c++  java
  • 寒假Day40:HDU1267士兵训练问题暴力

    某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
    
    Input
    本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。 Output
    共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。 Sample Input
    2 20 40 Sample Output 1 7 19 1 19 37

    其实感觉从这一题上看,自己的代码能力还是很弱,

    就类似于约瑟夫环问题,

    一些问题没法很顺畅的从脑子里表达出来,

    按理说类似这种题目应该很快敲出来,但是我没有。

    好好反思这段时间的行为吧,

    要对自己负责。

    这一题还可以用队列写,但是我写了,但是答案不对,网上的我也没看懂。

    AC代码:(暴力)

    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    #include<string.h>
    #include<stack>
    #include<queue>
    using namespace std;
    
    bool book[5050];
    
    int main()
    {
        int t,n;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            memset(book,0,sizeof(book));
            int q=n,flag=0;
            while(q>3)
            {
                int p=0;
                for(int i=1; i<=n; i++)
                {
                    if(book[i]==0)
                    {
                        p++;
                        if((flag==0&&p%2==0)||(flag&&p%3==0))
                        {
                            book[i]=1;
                            q--;
                        }
                    }
                }
                if(flag)
                    flag=0;
                else
                    flag=1;
            }
            printf("1");
            for(int i=2; i<=n; i++)
            {
                if(book[i]==0)
                    printf(" %d",i);
            }
            printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/OFSHK/p/12416431.html
Copyright © 2011-2022 走看看