2 条题解
-
1
首先可以看到 @ 的题解,是否感到不理解?这里有更简单的方案
这道题是一种排序,排序过程中需要让两个数据“绑”在一块,可能需要 int nums[n][2] (同时交换),或者struct结构体,或者pair之类的
在你思考怎么处理两个日期之间的关系的时候不难发现,咱们可以让月份和号这两个数据合并在一起,如何呢?
点击展开提示
时间戳=月份*100+号
然后直接排序时间戳即可,再拆开即可(通过/100和%100)
cpp
const int N=1e6+10; int t[N]; void eachT() { //读取 int n,x,y; cin>>n; for(int i=1;i<=n;++i){ cin>>x>>y; t[i]=x*100+y; } //提示:编辑区 ctrl+/ 可以取消注释 //cpp排序 // sort(t+1,t+1+n); //冒泡排序 // for(int i=1;i<=n;++i) // for(int j=1;j<=n-i;++j) // if(t[j]>t[j+1]) // swap(t[j],t[j+1]); //输出 for(int i=1;i<=n;++i){ cout<<t[i]/100<<" "<<t[i]%100<<endl; } }
信息
- ID
- 618
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 24
- 已通过
- 6
- 上传者