笔试题目--小记

组队吃鸡

A个1人队伍  B个2人队伍  C个3人队伍 D个4人队伍

输出可以组成多少个4人队伍(可以组合)

样例输入:

4

1 2 3 4

4 3 2 1

2 2 2 1

0 2 0 1

样例输出

6

5

4

2

代码1(注释部分):

题目2:重新排列序列

第一行N M

第二行 A1到AN

剩下M行,每行都是int型t和x,t=0时对A1-AN升序排序,t=1时降序

最后输出A1-AN

代码:

#include <iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;

int sum;
vector<int> vec;

bool cmp_down(int a,int b)//降序排序
{
    return a>b;
}
int main()
{
  /* 组队吃鸡
    int A ,B,C,D;
    int T;
    cin>>T;
    for(int i=0; i< T;i++)
    {
      cin>>A>>B>>C>>D;
    if(C>=A)
     sum=D+A+B/2;
    else if(B%2==0)
      sum = D+C+B/2+(A-C)/4;
    else if(B%2==1)
      sum = D+C+B/2+1+(A-C-1)/4;
    vec.push_back(sum);
    }

   for(int j=0; j<vec.size();j++)
    cout<<vec[j]<<endl;
*/
    int N,M;
    cin>>N>>M;
    vector<int>sort_vector;
    int a[N]={0};
    for(int j =0;j<N;j++)
    scanf("%d",&a[j]);
    int t,x;
    for(int i=0;i<M;i++)
    {
      cin>>t>>x;
      if(t==0)
      {
      sort(a,a+x);
      for(int ii=0;ii<x;ii++)
      sort_vector.push_back(a[ii]);
      }
      if(t==1)
      {
    sort(a,a+x,cmp_down);
     for(int jj=0;jj<x;jj++)
      sort_vector.push_back(a[jj]);
      }
    }
    for(int k =0;k<N;k++)
    {
    cout<<a[k]<<endl;
    }
    
    
    
    return 0;
}

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值