zoukankan      html  css  js  c++  java
  • 迅雷笔试题_红黑积木求和

    题目:

    有红黑两种颜色的方块积木,红色代表正数A、黑色代表负数B,选出17块积木排成一排,使得任意相邻7块积木之和小于0;如何挑选才能使得17块积木之和最大,最大值是多少?

    输入:

    正数A、负数B;

    A和B的绝对值均小于10000;

    样例输入:

    10  -61

    样例输出:

    28

    思路:

    用一个长度为7的滑动窗口即可解决问题。

    实现:

     1 #include <iostream>
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 
     5 #include <iostream>
     6 #include <cstdio>
     7 #include <cstring>
     8 #include <cmath>
     9 
    10 int main() {
    11 
    12     int a,b;
    13     cin >> a >> b;
    14     int count = 0;
    15     int sum =0;
    16     int num[17];
    17     for (int i=0;i<7;i++){
    18         if(a*(i+1)+b*(6-i)<0){
    19             num[i]=a;
    20             sum = sum + num[i];
    21             count = count + num[i];
    22         }else {
    23             num[i]=b;
    24             sum = sum + num[i];
    25             count = count + num[i];
    26         }
    27     }
    28 
    29 
    30     for (int i=7;i<17;i++){
    31         if (count - num[i-7]+a<0){
    32             num[i]=a;
    33             count = count - num[i-7]+a;
    34             sum = sum + num[i];
    35         }else {
    36             num[i]=b;
    37             count = count - num[i-7]+b;
    38             sum = sum + num[i];
    39         }
    40     }
    41     cout << sum << endl;
    42 }
    专注搬砖,擅长搬砖砸自己的脚~~~ Email: ltwbuaa@163.com
  • 相关阅读:
    性能分析之路-------各指标代表意思以及分析
    selenium python 定位一组对象
    python 操作word文档
    nmon的安装以及使用
    nginx的监控配置
    selenium 一个简单的流程
    Fiddler手机抓包设置
    urllib、urllib2、urllib3区别和使用
    mysql数据库改名的方法
    Python之pymysql
  • 原文地址:https://www.cnblogs.com/TonvyLeeBlogs/p/9637540.html
Copyright © 2011-2022 走看看