cmp
http://www.fjutacm.com/Problem.jsp?pid=1620
sort很方便,遇到排序题我就不受控制往sort靠,记几个知识点方便以后找。
-
#include<algorithm>
using namespace std;
- sort(a,a+n);//sort(a,a+n,cmp);
-
sort默认升序,改降序:
bool cmp(int a,int b){
return a>b;}
-
加上结构体和数组:
struct node{
int a;
int b;
}q[50];
bool cmp(node x,node y){
return x.a<y.a;//这里只排a}
bool cmp(node x,node y){
if(x.a!=y.a)
return x.a<y.a;//如果a一样就排b
if(x.b!=y.b)
return x.b<y.b;
}
- 上面题的代码:
#include<stdio.h>
#include<algorithm>
using namespace std;struct node{
int a;
int b;
}q[30];bool cmp(node x,node y){
return x.a<y.a;
}int main()
{
int t,N;
scanf("%d",&t);
for(int i=0;i<t;i++){
scanf("%d",&N);
for(int j=0;j<N;j++){
scanf("%d%d",&q[j].a,&q[j].b);
}
sort(q,q+N,cmp);
for(int i=0;i<N;i++){
for(int f=0;f<q[i].b;f++){
for(int k=1;k<=q[i].a;k++){
if(k==1)
printf(">+");
else if(k==q[i].a)
printf("+>\n");
else
printf("-");
}
}
printf("\n");
}
}
return 0;
}
看到能用sort就用咯http://www.fjutacm.com/Problem.jsp?pid=1142
做个小补充:
stable_sort():当排序元素相等时,保留原来的顺序。在对结构体排序时,当结构体中的排序元素相等时,如果需要保留原序,可以用stable_sort()。
partial_sort():局部排序。例如有10个数字,求最小的5个数。如果用sort(),需要先全部排序,再输出前5个;而用partial_sort()可以直接输出前5个。
还有几个没做的题,先码下来
http://www.fjutacm.com/Problem.jsp?pid=1214
https://www.dotcpp.com/oj/problem1568.html
EOF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义