zoukankan      html  css  js  c++  java
  • hdu 4671 Backup Plan(签到题)

    错成那样,还以为是卡时间卡精度的变态题,结果就那么ac了= = 悔死我了

    题意就不概述了,只要处理前两列即可。其中第一列顺序直接扫一遍,第二列要先处理较少的那几种。我是接着第一列用 head[] 继续处理,朋友给出了直接逆向处理的算法,更快、代码也会好写一点。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 using namespace std;
     5 
     6 const int MAXN=101;
     7 int st[MAXN],ed[MAXN],head[MAXN];
     8 
     9 int main()
    10 {
    11     int n,m;
    12     while(~scanf("%d%d",&n,&m))
    13     {
    14         for(int i=0;i<m;i++)
    15             st[i]=i%n+1;
    16         int mod=m%n;
    17         memset(head,0,sizeof(head));
    18         for(int i=1;i<=m;i++)
    19             head[i]=mod;
    20         for(int i=1;i<=n;i++)
    21         {
    22             for(int j=0;j<m;j++)
    23             {
    24                 if(st[j]==i){
    25                     if((head[i])%n+1!=st[j]){
    26                         ed[j]=(head[i])%n+1;
    27                         head[i]++;
    28                     }else {
    29                         ed[j]=(head[i]+1)%n+1;
    30                         head[i]+=2;
    31                     }
    32                 }
    33             }
    34         }
    35         for(int i=0;i<m;i++)
    36         {
    37             printf("%d %d",st[i],ed[i]);
    38             for(int j=1;j<=n;j++)
    39                 if(j!=st[i]&&j!=ed[i])
    40                     printf(" %d",j);
    41             printf("
    ");
    42         }
    43     }
    44     return 0;
    45 }
    View Code
  • 相关阅读:
    HttpClient
    spring入门
    morphia进阶
    morphia基本API方法
    mangodb数据库框架morphia注解
    学与思
    解决vscode执行yarn启动项目报错
    使用swiper+动画实现轮播图自动播放
    vue中使用el-tree实现一行显示多条数据
    使用git命令提交部分修改代码
  • 原文地址:https://www.cnblogs.com/zstu-abc/p/3256208.html
Copyright © 2011-2022 走看看