acm 一种排序
来源:互联网 发布:视频播放器 知乎 编辑:程序博客网 时间:2024/04/29 21:27
首先,并不知道今天的代码到底错在了哪里了。测试所使用的数据得到的结果都是正确的,却一直提示是wronganswer。下面是代码的复制
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <queue>
#include <stack>
#include <stdlib.h>
#include <string.h>
using namespace std;
struct node{
int num,len,wid;//建一个结构体,编号,长,宽
}ab[1002];
int main(){
int m,n,i;
cin>>n;
while(n--){
cin>>m;
for(i=0;i<m;i++){
cin>>ab[i].num>>ab[i].len>>ab[i].wid;//循环输入数据并把长和宽进行大小排序
if(ab[i].len<ab[i].wid){
swap(ab[i].len,ab[i].wid);
}
}
for(i=0;i<m-1;i++){
for(int j=i+1;j<m;j++){
if(ab[i].num>ab[j].num)
swap(ab[i],ab[j]);
if(ab[i].num==ab[j].num && ab[i].len>ab[j].len)
swap(ab[i],ab[j]);
if(ab[i].num==ab[j].num && ab[i].len==ab[j].len && ab[i].wid>ab[j].wid)//循环进行排序,先排序编号,而后长,而后宽
swap(ab[i],ab[j]);
}
}
for(i=0;i<m;i++){
if(ab[i].num==ab[i+1].num &&ab[i].len==ab[i+1].len && ab[i].wid==ab[i+1].wid)//如果完全相等则放弃一个继续下一个,否则就输出
continue;
else printf("%d %d %d\n",ab[i].num,ab[i].len,ab[i].wid);
if(ab[m-1].num!=ab[m-2].num &&ab[m-1].len!=ab[m-2].len && ab[m-1].wid!=ab[m-2].wid)//因为这里存在问题,如果上面的for循环只是到m的话,那么没办法输出最后一个数据
printf("%d %d %d\n",ab[m-1].len,ab[m-1].num,ab[m-1].wid);
}
}
}
- 小白学ACM-一种排序
- ACM 一种排序 Java
- acm 一种排序
- ACM (8) 一种排序
- ACM一种排序
- acm每日一练之一种排序
- ACM一种排序题8Java实现
- 练习场acm 题目8 一种排序
- ACM:一种排序(操作符重载、vector排重)
- 南阳ACM 题目8:一种排序 Java版
- java acm 题目8 一种排序 详细解析
- 一种排序
- 一种排序
- 一种排序
- 一种排序
- 一种排序
- 一种排序
- 一种排序
- C++Primer第五版 第三章习题答案(31~40)
- 栈和队列 实现停车场
- KEIL MDK编译代码,产生的几个关键信息:Code RO-data RW-data ZI-data
- AOJ.562 寻找罗恩和赫敏
- 如何将自己的作品放在网上
- acm 一种排序
- 视音频数据处理入门:H.264视频码流解析
- java.lang.OutOfMemoryError:GC overhead limit exceeded分析
- linux读书摘要--文件与文件系统的压缩、打包与备份
- 【十七】Android 数据存储-文件存储
- 关于 过时的 蛋疼的 MFC + DataGrid 显示设置
- 理解Fragment生命周期
- 经济周期a
- 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍