Problem  A  求和
题的意思就是输入一个n求1~n的和。
简单题,代码如下:
#include<cstdio>
using namespace std;
int main()
{
 int T,sum,n;
 scanf("%d",&T);
 while(T--)//控制循环次数
 {
  scanf("%d",&n);
  sum=0;//每次循环都要赋一次值
  for(int i=1;i<=n;i++)
  {
   sum=sum+i;
  }
  printf("%d\n",sum);
 }
 return 0;
}
 Problem  B 钱老师的烦恼
对输入数组进行排序并从小大到输出(注意输出的最后一个后面没有空格,注意处理)
代码如下:
#include<cstdio>
#include<algorithm>//调用sort函数
using namespace std;
int main()
{
 int n,a[100],i;
 while(~scanf("%d",&n))//实现多次输入
 {
  for(int i=0;i<n;i++)
  {
   scanf("%d",&a[i]);
  }
  sort(a,a+n);//实现快速排序
  for(int i=0;i<n-1;i++)
  {
   printf("%d ",a[i]);
  }
  printf("%d\n",a[n-1]);//单独对最后一个输出,以免多输出空格
 }
/*
for(int i=0;i<n;i++)
  {
   printf("%d%c",a[i],i!=n-1?' ':'\n');
  } //也可以这样输出,自己参考含义。
*/
 return 0;
}
Problem  C  突击战
贪心算法:思路,优先安排执行任务时间最长的士兵,以此类推。
代码如下:
#include<cstdio>
using namespace std;
int main()
{
 int a[200],b[200],n,t,k=1,sum;
 while(~scanf("%d",&n)&&n!=0)
 {
  for(int i=0;i<n;i++)
  {
   scanf("%d%d",&a[i],&b[i]);//a[i]为交代任务时间,b[i]为完成所需要的时间
  }
  for(int i=0;i<n;i++)
  {
   for(int j=0;j<n-i-1;j++)
   {
    if(b[i]<b[i+1])
    {
     t=b[i];b[i]=b[i+1];b[i+1]=t;
     t=a[i];a[i]=a[i+1];a[i+1]=t;//按从大到小排列
    }
   }
  }
  sum=a[0]+b[0];
  for(int i=1;i<n;i++)
  {
   sum+=(a[i]+b[i])-b[i-1];
  }
  printf("Case %d: %d\n",k,sum);
  k++;//用于计数
 }
 return 0;
}
Problem D: Sequence
简单题,就是找哪个数出现了2次;
代码如下:
#include<cstdio>
using namespace std;
int main()
{
 int a[100],n,ok;
 while(~scanf("%d",&n))
 {
  ok=0;
  for(int i=0;i<n;i++)
  {
   scanf("%d",&a[i]);
  }
  for(int i=0;i<n-1;i++)
  {
   for(int j=i+1;j<n;j++)//从第i个数开始往后面找,找到相同输出并退出
   {
    if(a[i]==a[j])
    {
     printf("%d\n",a[i]); 
     ok=1;
     break;
    }
   }
   if(ok)
   {
    break;
   }
  }
 }
 return 0;
}
Problem E: 顺逆序输出
还是简单题,直接数字符数组更加方便;
代码如下:
#include<cstdio>
#include<cstring>
 using namespace std;
 int main()
 {
  char c[6];
  int i,a;
  scanf("%s",c);
  a=strlen(c);
  printf("%d\n",a);
  for(i=0;i<a-1;i++)
    {
        printf("%c ",c[i]);
    }
    printf("%c\n",c[a-1]);
 while(c[a-1]=='0')
    {
     a--;
    }//去掉尾数0;
    for(i=a-1;i>=0;i--)
    {
        printf("%c",c[i]);
    }
    printf("\n");
  return 0;
 }

Problem F: 最大子串和
本次月赛最难的一道题,需要运用动态规划解决,大体意思如下:
用前i个数的和(1<=i<=n)去减去前j个数的和(0<=j<i)便可解决。
代码如下:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int a[100000],b[100000];
int main()
{
    int n,c,k;
    scanf("%d",&n);
    while(n--)
    {
        k=-200;
        scanf("%d",&c);
        b[0]=0;
        for(int i=0;i<c;i++)
        {
            scanf("%d",&a[i]);
            b[i+1]=a[i]+b[i];
        }
        for(int i=1;i<=c;i++)
        {
            for(int j=0;j<i;j++)
            {
                k=max(max(b[i],b[i]-b[j]),k);
            }
        }
        printf("%d\n",k);
    }
    return 0;
}    
这就本次月赛的全部题目解答。

CDUTCM OJ 2017第一次月赛相关推荐

  1. 「CodePlus 2017 11 月赛」可做题

    题目描述 qmqmqm 希望给 sublinekelzrip 出一道可做题.于是他想到了这么一道题目:给一个长度为n的非负整数序列ai​​,你需要计算其异或前缀和bi,满足条件b1=a1​​,bi=b ...

  2. C++描述杭电OJ 2017.字符串统计||

    C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...

  3. [CodePlus 2017 11月赛]晨跑 题解(辗转相除法求GCD)

    [CodePlus 2017 11月赛]晨跑 Description "无体育,不清华"."每天锻炼一小时,健康工作五十年,幸福生活一辈子".在清华,体育运动绝 ...

  4. 软件工程实践 2017 第一次作业

    砥砺前行 软件工程实践 2017 第一次作业 今年又重拾 cnblogs,上一次也是张栋老师教的面向对象程序设计,在我所经历过的教学方式中,这样的可以说是较为独特的--强烈的实践和理论相结合的模式,鼓 ...

  5. SDNU-ACM第一次月赛地大武汉选拔赛

    前言 不开ll见祖宗!我愿称之为因为ll打烂了的月赛. D是签到题这里不再写了. Problem A(未A) 思路 数学题,非常妙,赛场上只想出来了一半. 一开始火速搓了一个二分思想wa掉了,做完别的 ...

  6. 橙白oj 2017级《算法分析与设计》-练习02

    注:A题我以为给新生出的,应该贼简单,是按顺序消灭,卡了十几分钟,成了最后一个ac的题,真是菜的真实. Problem A: Description 白细胞是人体与疾病斗争的"卫士" ...

  7. 软件工程实践2017第一次结对作业

    结队项目--第一次作业 1. 结对成员: 031502614 赖志平 031502627 王国华 2.NABCD N (Need, 需求) 首先,提出的需求如下: 要解决的困扰:流程繁琐复杂,各个部门 ...

  8. 软件工程2017第一次作业——随笔汇总

    随笔一 开通博客十一天了,还没开始写东西,今天软件工程第一节课结束了,开始了我的第一篇随笔,有点小心奋. 这篇博客就写以下几点: 1.自我介绍 2.本科对计算机的想法 3.对这门课的期待 一.自我介绍 ...

  9. 软件工程实践2017第一次作业-051502125

    (1)回想一下你初入大学时对计算机专业的畅想 答1:当初没选计算机,选了土木,大一下转专业过来的. 2:不太符合.当初想到的都是计算机的一些应用与科技,但前两年学的都是一些原理,虽然那是必须的,但还是 ...

  10. 软件工程实践2017第一次作业

    (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 高考之后,综合分数.地理位置.专业考虑,搭上了福州大学这趟动车,不过选报的专业给我打了个折,意外的在生工完成了一 ...

最新文章

  1. 《BI项目笔记》用Excel2013连接和浏览OLAP多维数据集
  2. 腾讯企业IT部蔡晨:从有界到无界,新一代企业安全防御之道
  3. 机器学习预测信贷风险
  4. Java数据解析之XML(原创)
  5. php 返回索引,PHP mySQL - 你能否返回帶有數字索引的關聯數組?
  6. SpringBoot日记——日志框架篇
  7. python类:类方法和静态方法
  8. 微信小程序图片上传并展示
  9. Prometheus自动发现Exporter实现方案(一看就懂)
  10. Android PreferenceActivity添加ToolBar
  11. 高等代数--线性方程组
  12. ★★★HEU_KMS_Activator_v7.5 (附详细说明文档)
  13. b站视频下载与字幕下载方式总结
  14. 【无标题】2021年烷基化工艺证考试及烷基化工艺操作证考试
  15. 关于 类的常成员函数 声明和定义处 都需要加 const的原因
  16. Tableau-旭日图(详细操作步骤)
  17. 阿里云天池竞赛-零基础入门CV赛事-Task4 模型训练与验证
  18. python爬微博超话图片_Python爬虫:《庆余年》人物图谱和微博传播路径
  19. 吃透Java并发:AQS结构详解及其CLH变种、CLH、MCS
  20. 《电子元器件的可靠性》——2.3节可靠性基本术语和主要特征量

热门文章

  1. HAL定时器库函数和定时器的解析
  2. JavaScript教程-18-JavaScript中的内置对象Global
  3. 高频故障-桌面图标变成白纸图标的恢复方案
  4. flask 将route放置在多个文件中的方法(蓝本)
  5. Docker搭建ElasticSearch
  6. TCP 三次握手和四次挥手,中间失败了会发生什么?
  7. 弗吉尼亚理工计算机科学排名,弗吉尼亚理工大学专业排名
  8. Go基础:路径、文件名和包名的关系
  9. 导论:什么是 Conversational Robot
  10. 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归