刷题 DAY7 阿坤老师的独特瓷器 FORM 蓝桥云课 C++

maxx函数是return了 d的最大值,后面的sort()函数为了以d的最大值来排序a数组。

sort函数:

  sort函数的使用必须加上头文件“#include<algorithm>”和“using namespace std;”,其使用的方式如下:
      sort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(非必填));

如果不写比较函数 则默认从小到大排列。

#include <bits/stdc++.h>
using namespace std;
struct ch{
  int d;
  int h;
};
bool maxx(ch x,ch y){
  return x.d>y.d;
}
ch a[100000];
int main()
{
  int sum=0;
  int n;
  cin>>n;
  for(int i=0 ; i<n ; i++) cin>>a[i].d>>a[i].h;
  sort(a,a+n,maxx);
  int dm = a[0].d;      //dm为d的最大值
  int hm = 0;           //hm为h的最大值
  for(int i=0 ; i<n ; i++) {    //遍历数组找出最大值
    if(dm == a[i].d){     //如果a[i].d等于最大值
      hm = max(hm,a[i].h);      //交换hm的值
      sum++;
    }
    else{
      hm = max(hm,a[i].h);
      if(hm<=a[i].h) sum++;
    }
  }
  cout<<sum;
  return 0;
}

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CUDA-to-C转换器是一个开源工具,可以将CUDA程序转换为C语言程序。使用CUDA-to-C转换器可以使CUDA程序在不支持CUDA的平台上运行,例如CPU和ARM架构。 以下是使用CUDA-to-C转换器的步骤: 1. 安装CUDA-to-C转换器 首先需要下载CUDA-to-C转换器,并按照其文档进行安装。 2. 编写CUDA程序 编写一个简单的CUDA程序,例如: ``` __global__ void add(int *a, int *b, int *c) { int i = threadIdx.x; c[i] = a[i] + b[i]; } int main(void) { int *a, *b, *c; int size = N * sizeof(int); // Allocate memory on GPU cudaMalloc((void **)&a, size); cudaMalloc((void **)&b, size); cudaMalloc((void **)&c, size); // Initialize input vectors for (int i = 0; i < N; i++) { a[i] = i; b[i] = i * 2; } // Launch add() kernel on GPU add<<<1, N>>>(a, b, c); // Copy result back to host cudaMemcpy(c, d_c, size, cudaMemcpyDeviceToHost); // Free memory on GPU cudaFree(a); cudaFree(b); cudaFree(c); return 0; } ``` 3. 使用CUDA-to-C转换器将CUDA程序转换为C语言程序 在终端中输入以下命令: ``` cuda2c add.cu add.c ``` 其中,add.cu是CUDA程序的文件名,add.c是转换后的C语言程序的文件名。 4. 编译转换后的C语言程序 使用C编译器编译转换后的C语言程序,例如: ``` gcc add.c -o add ``` 5. 运行转换后的C语言程序 运行转换后的C语言程序,例如: ``` ./add ``` 通过以上步骤,就可以将CUDA程序转换为C语言程序,并在不支持CUDA的平台上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值