zoukankan      html  css  js  c++  java
  • Codeforces Round #143 (Div. 2) B

    http://codeforces.com/problemset/problem/231/B

    苦逼贪心被当成了搜索。。。

    学习大牛代码:

    View Code
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 
     5 using namespace std;
     6 
     7 #define MAXN 110
     8 int ans[MAXN];
     9 int n,d,l;
    10 
    11 int main()
    12 {
    13     while(scanf("%d%d%d",&n,&d,&l) != EOF)
    14     {
    15         int tmp=0;//奇数和与偶数和的差
    16         for(int i=0;i<n;i++)
    17         {
    18             ans[i]=1;//最少为1
    19             if(i%2==0)
    20                 tmp++;
    21             else
    22                 tmp--;
    23         }
    24         for(int i=0;i<n;i++)
    25         {
    26             while(i%2==0 && tmp<d && ans[i]<l)//贪心
    27                 ans[i]++,tmp++;
    28             while(i%2==1 && tmp>d && ans[i]<l)
    29                 ans[i]++,tmp--;
    30         }
    31         if(tmp != d)
    32         {    
    33             puts("-1");
    34             continue;
    35         }
    36         printf("%d",ans[0]);
    37         for(int i=1;i<n;i++)
    38             printf(" %d",ans[i]);
    39         puts("");
    40     }
    41     return 0;
    42 }
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <queue>
     5 #include <algorithm>
     6 #include <cmath>
     7 #include <stack>
     8 
     9 using namespace std;
    10 
    11 #define MAXN 110
    12 int ans1[MAXN];
    13 int ans2[MAXN];
    14 int n,d,l;
    15 
    16 int main()
    17 {
    18     while(scanf("%d%d%d",&n,&d,&l)  != EOF)
    19     {
    20         bool flag=0;
    21         memset(ans1,0,sizeof(ans1));
    22         memset(ans2,0,sizeof(ans2));
    23         int ansmin=(n+1)/2;
    24         int ansmax=l*(n+1)/2;
    25         int leftmax=ansmax,rightmax=ansmax-d;
    26         int leftmin=ansmin,rightmin=ansmin-d;
    27         if(rightmax<(n/2) || rightmin>l*(n/2))
    28         {
    29             puts("-1");
    30             continue;
    31         }
    32         if(rightmax>=l*(n/2))
    33         {
    34             for(int i=0;i<(n/2);i++)
    35                 ans2[i]=l;
    36             leftmax=(n/2)*l+d;
    37             for(int i=0;i<(n+1)/2;i++)
    38                 ans1[i]=1;
    39             leftmax-=(n+1)/2;
    40             int i=0;
    41             while(leftmax>l-1)
    42             {
    43                 ans1[i++]+=l-1;
    44                 leftmax-=(l-1);
    45             }
    46             ans1[i]+=leftmax;
    47         }
    48         else
    49         {
    50             for(int i=0;i<(n/2);i++)
    51                 ans2[i]=1;
    52             rightmin-=(n/2);
    53             if(rightmin<0)
    54                 rightmin=0;
    55             int i=0;
    56             while(rightmin>l-1)
    57             {
    58                 ans2[i++]+=l-1;
    59                 rightmin-=(l-1);
    60             }
    61             ans2[i]+=rightmin;
    62             leftmin=0;
    63             for(i=0;i<(n/2);i++)
    64                 leftmin+=ans2[i];
    65             leftmin+=d;
    66             i=0;    
    67             for(int i=0;i<(n+1)/2;i++)
    68                 ans1[i]=1;
    69             leftmin-=(n+1)/2;
    70             while(leftmin>l-1)
    71             {
    72                 ans1[i++]+=l-1;
    73                 leftmin-=(l-1);
    74             }
    75             ans1[i]+=leftmin;
    76         }
    77         printf("%d %d",ans1[0],ans2[0]);
    78         for(int i=1;i<(n/2);i++)
    79             printf(" %d %d",ans1[i],ans2[i]);
    80         if(n%2)
    81             printf(" %d",ans1[(n+1)/2-1]);
    82         printf("\n");
    83     }
    84     return 0;
    85 }
  • 相关阅读:
    hadoop基础学习---数据管理策略
    hadoop基础学习---基本概念
    hadoop配置
    linux配置java环境
    Linux使用expect实现自动登录的脚本
    机器学习系列-寒小阳
    深度学习与计算机视觉系列-寒小阳
    深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全
    深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统
    深度学习与计算机视觉系列(10)_细说卷积神经网络
  • 原文地址:https://www.cnblogs.com/Missa/p/2714677.html
Copyright © 2011-2022 走看看